matlab第三次作业.docx
《matlab第三次作业.docx》由会员分享,可在线阅读,更多相关《matlab第三次作业.docx(9页珍藏版)》请在冰点文库上搜索。
matlab第三次作业
要求:
共12题,以rar压缩包提交各题所编写的*.m文件,同时将各题程序运行过程粘贴到每题下边一起放到压缩包中提交。
建议在*.m函数中对关键步骤加中文或英文注释
周五下课前发送至matlab_bjfu@
邮件和附件名称:
姓名+学号后三位+第三次作业
请严格按照上述格式发邮件,名称格式有错可能会找不到作业,提交成功后有自动回复。
1、编写M脚本文件ti1.m实现用for循环语句实现求1~100的累加和,并由命令窗口(commandwindow)验证运行结果。
s=0;
fori=1:
100
s=s+i;
end
>>ti1
>>s
s=
5050
2、编写M函数m=myfun2(n)实现用for循环语句实现求1~n的累加和m,并由命令窗口(commandwindow)输入myfun2(n)验证,n值任意指定。
functionm=myfun2(n)
m=0;
fori=1:
n;
m=m+i;
end
>>myfun2(10)
ans=
55
>>myfun2(100)
ans=
5050
>>
3、编写M脚本文件ti3.m实现用while循环语句求100阶乘的函数文件,并由命令窗口(commandwindow)验证运行结果。
m=1;
i=100;
while(i>0)
m=m*i;
i=i-1;
end
>>ti3
>>m
m=
9.3326e+157
>>i
i=
0
>>
4,编写M函数m=myfun4(n)实现用while循环语句实现求n阶乘的函数文件,并由命令窗口(commandwindow)输入myfun4(n)验证,n值任意指定。
functionm=myfun4(n)
m=1;
while(n>0)
m=m*n;
n=n-1;
end
>>myfun4(10)
ans=
3628800
5、编写M脚本文件ti5.,m,调用题4中M函数myfun4(n),求20阶乘的结果,其中20的数值由键盘输入input命令输入,运算结果disp命令显示。
functionti5
n=input('Inputnplease:
');
m=myfun4(n)
end
>>ti5
Inputnplease:
20
2.4329e+018
>>
6、编写M脚本文件ti6.m求满足
的最小m值,由命令窗口(commandwindow)验证运行结果。
n=0;
m=0;
while(n<10000)
m=m+1;
n=n+3^m
end
>>m
m=
9
>>
7、编写M函数文件,利用M函数myfun7求满足
的最小m值,,函数输入值为n,返回值为m和s,由命令窗口(commandwindow)输入[m,sum]=myfun7(20000)验证。
function[m,sum]=myfun7(n)
m=0;
sum=0;
while(summ=m+1;
sum=sum+3^m;
end
>>[m,sum]=myfun7(20000)
m=
9
sum=
29523
8、编写M函数文件myfun8(x)求向量x中元素的均方根值。
functionrms=myfun8(x)
方均根值(RootMeanSquare)的计算公式为:
并使用M脚本文件ti8.,m中的数据x=sin(0:
0.01:
6*pi)测试所写的函数。
functionrms=myfun8(x)
ti8;
n=length(x);
sum=0;
rms=0;
fori=1:
n;
sum=sum+x(i)^2;
rms=sqrt(sum);
end
>>
ans=
30.6998
>>
9.使用switch+case语句编写如下函数jijie=myfun9(yue),当时输入12,1,2时输出winter,当时输入3,4,5时输出spring,当时输入6,7,8时输出summer,当时输入9,10,11时输出autumn。
结果由命令窗口(commandwindow)输入myfun9(7)和s=myfun9(11)验证。
functionjijie=myfun9(yue)
switch(yue)
case{345}
jijie='spring';
case{678}
jijie='summer';
case{91011}
jijie='autumn';
case{1212}
jijie='winter';
end
>myfun9(7)
ans=
summer
>>myfun9(11)
ans=
autumn
10、编写一个M函数文件myfun10(x),计算下面函数的值,并选择sin(61°)在命令窗口(commandwindow)中测试编写的函数。
functionmyfun10(x)
ifx<=0
y=sin(x)
elseif(x<=3)&(x>0)
y=x
else
y=-x+6
end
>>myfun10(sin(61*pi/180))
y=
0.8746
>>
11.编写一个M脚本文件ti11.,m,调用题10中M函数myfun10(x),求
间的y的值,其中x取值步长为0.01,并使用plot命令绘制计算结果。
绘图结果粘贴到下面:
(提示:
复制图片时,可使用如下蓝框中CopyFigure命令栏,然后粘贴到word中)
12.编写一个M脚本文件ti12.,m,使用plot命令绘制y=sinx+cosx的结果图,其中x=0:
0.1:
2π,计算结果,要求曲线为红色线,菱形符数据点形,图名:
“cosx+sinx”;x坐标轴名:
“x值”;y坐标名:
“cosx+sinx值”;显示分格线。
绘图结果粘贴到下面:
x=0:
0.1:
2*pi;
y=sin(x)+cos(x);
plot(x,y,'rd');
xlabel('x值');
ylabel('cosx+sinx值');
title('cosx+sinx');
gridon;