一、实验任务和目的
1. 掌握Matlab的自定义函数的方法。
2. 掌握Matlab的函数中变量传递。
3. 熟悉Matlab的匿名函数、子函数和嵌套函数。
二、实验内容
1. 自定义一个函数,求给定复数的指数、对数、正弦和余弦,并在命令文件中调用该函数。
2. 自定义一个函数,计算一行向量中各元素的均值和标准差
3.求下列方程的根:
三、实验过程和结果
1. 自定义一个函数,求给定复数的指数、对数、正弦和余弦,并在命令文件中调用该函数。
建立m文件;
function [ a,b,c,d ] = my(x)
a=exp(x);
b=log(x);
c=sin(x);
d=cos(x);
end
调用;
>> [a,b,c,d]=my(5*i)
a =
2.2026e+04
b =
2.3026
c =
-0.5440
d =
-0.8391
2. 自定义一个函数,计算一行向量中各元素的均值和标准差
建立m文件;
function y = mad(x)
n=length(x);
sum=0;
for i=1:n
sum=sum+x(i);
i=i+1;
end
a=sum/n;
b=0;
for i=1:n
b=b+(x(i)-a)^2;
s=sqrt(b/n);
end
fprintf('a=%f\n',a);
fprintf('s=%f\n',s);
调用;
>> x=input('x=')
mad(x)
x=3:10
x =
3 4 5 6 7 8 9 10
a=6.500000
s=2.291288
3.求下列方程的根:
>> f=@(x)exp(x)+x^2+(sqrt(x))-100;
>> format long;
>> x1=fzero(f,10)
x1 =
4.367372663182703
>> f(x1)
ans =
4.263256414560601e-14
4.实验总结和心得
通过本次实验;我掌握Matlab的自定义函数的方法,掌握了Matlab的函数中变量传递。熟悉了Matlab的匿名函数、子函数和嵌套函数。
让我在对许多问题处理上更加得心应手,本次实验收获颇丰。