6、MATLAB程序设计与应用刘卫国(第三版)课后实验六:函数文件

一、

定义一个函数文件,求给定复数的指数、对数、正弦和余弦,并在脚本文件中调用该函数文件。

---------------------------------------示例代码---------------------------------------------

%%在编辑器里输入
function y=f1(x)  %建立函数文件f1.m
y=[exp(x),log(x),sin(x),cos(x)];
%%在命令行窗口输入
y=f1(1+i)

---------------------------------------运行结果---------------------------------------------

二、

某物理系统可用下列方程组来表示:

从键盘输入m1、m2和θ的值,求a1、a2、N1和N2的值。其中g取9.8,输入θ时以角度为单位。

要求:定义一个求解线性方程组Ax=b的函数文件,然后在脚本文件中调用该函数文件。

---------------------------------------示例代码---------------------------------------------

function X = fc(A,B)
%fc fc求解线性方程的函数
%形如线性方程Ax=b,A是未知矩阵的系数矩阵,B实际就是b的集合
X=A\B;
end

m1=input('输入m1=');
m2=input('输入m2=');
theta=input('输入theta=');
x=theta*pi/180;
g=9.8;
A=[m1*cos(x),-m1,-sin(x),0;m1*sin(x),0,cos(x),0;0,m2,-sin(x),0;0,0,-cos(x),1];
B=[0;m1*g;0;m2*g];
X=fc(A,B)

---------------------------------------运行结果---------------------------------------------

 三、

一个自然数是素数,且它的数字位置经过任意对换后仍为素数,则称之为绝对素数。例如13是绝对素数。试求所有两位绝对素数。

要求:定义一个判断素数的函数文件。

---------------------------------------示例代码---------------------------------------------

function main
    for d=10:99
       if(isprime(d) && isprime(exchange(d)))       
           fprintf('%d\n',d);
       end
    end
end
 
function r = exchange(d)    
    r = mod(d,10)*10+ floor(d/10);
end

---------------------------------------运行结果---------------------------------------------

 四、

编写一个 MATLAB 函数文件fx.m,x可用矩阵代入,得出的f(x)为同阶矩阵。

 ---------------------------------------示例代码---------------------------------------------

%fx.m
function f= fx(x)
A=0.1+(x-2).^2;
B=0.0+(x-3).^4;
f=1./A+1./B;
end
%untitled.m
x=input('x=');
f=fx(x)

---------------------------------------运行结果---------------------------------------------

 五、

 

(1)当f(n)=n+10ln(n2+5)时,y的值是多少?

---------------------------------------示例代码---------------------------------------------

%函数f.m文件:
function f=f(x)
f=x+10*log(x^2+5);

%命令文件:
clc;
n1=input('n1=');
n2=input('n2=');
n3=input('n3=');
y1=f(n1);
y2=f(n2);
y3=f(n3);
y=y1/(y2+y3)

---------------------------------------运行结果---------------------------------------------

(2)当f(n)=1×2+2×3+3×4+·…+n×(n+1)时,y的值是多少?

---------------------------------------示例代码---------------------------------------------

%文件名:zwg.m
function y = zwg(n)
y = 0;
for x=1:n
    y = y + x*(x + 1);
end
end

---------------------------------------运行结果---------------------------------------------

 如有侵权请尽快与我联系

猜你喜欢

转载自blog.csdn.net/weixin_46698113/article/details/128277447
今日推荐