MATLAB全部实验及答案(3)

2020-05-08 10:17

else

y(k)=x(k).^2-x(k)-1; end end

for i=1:length(y)

disp(['y(',num2str(x(i)),')','=',num2str(y(i))]); end

实验四 MATLAB程序设计

实验内容及步骤

1、 分别使用for循环语句和while循环语句找出最小的n值,使得n!>10100,

并求出n!。要求显示的结果为 n=70

n!=1.197857e+100>1e100 或

70!=1.197857e+100>1e100

用IF语句执行如下: s=1; for n=1:100 s=s*n; if(s>10^100) break; end end

str1=['n=',num2str(n)]; str2=['n!=',num2str(s)]; disp(str1) disp(str2)

用WHILE语句执行如下: n=1; s=1;

while(s<=10^100) s=s*n; n=n+1; end

str1=['n=',num2str(n-1)]; str2=['n!=',num2str(s)]; disp(str1) disp(str2)

2、 已知 f1=1,n=1

f2=0,n=2 f3=1,n=3

fn=fn-1-2fn-2+fn-3,n>3

求f1 ~ f50中:

1)最大值和最小值及它们的位置,各数之和(最大值给变量MAX,其位置给变量x,最小值给变量MIN,其位置给变量y,各数之和给变量SUM)。

2)正数、零、负数的个数(依次赋值给变量positive,zero,negative)。

法一: clear; f(1)=1; f(2)=0; f(3)=1; for n=4:50

f(n)=f(n-1)-2*f(n-2)+f(n-3); end

[MAX,x]=max(f) %注意不要分号,要执行的语句 [MIN,y]=min(f) SUM=sum(f)

positive=length(find(f>0)) zero=length(find(f==0)) negative=length(find(f<0)) MAX =

406631 x = 49 MIN = -403795

y = 50 SUM = 76861 positive = 25 zero = 2 negative = 23

法二:clear all,clc

for n=1:50 if n==1 f(1)=1; elseif n==2 f(2)=0; elseif n==3 f(3)=1; elseif n>3

f(n)=f(n-1)-2*f(n-2)+f(n-3); end end

[MAX,y]=max(f)

[Min,x]=min(f) positive=length(find(f>0)) zero=length(find(f==0))

negative= length(find(f<0)) 3、 Fibonacci数组的元素满足Fibonacci规则:

ak+2=ak+ak+1,(k=1,2,3,?);且a1= a2=1。

请设计一段程序,求出该数组中第一个大于10000的元素 要求显示的结果为: i=21 a(i)=10946 或者 a(21)=10946

法一:a(1)=1; a(2)=1;

for k=1:10000 %不能是3:10000 a(k+2)=a(k)+a(k+1); if a(k)>10000 break; end end

disp(['k=',num2str(k)]) disp(['a(k)=',num2str(a(k))]) 法二:clear,clc


MATLAB全部实验及答案(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:工程材料与热加工 考试试卷3

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: