admin 管理员组

文章数量: 1184232


2024年3月20日发(作者:幻想三国源码下载)

第一章 MATLAB入门

4、求近似解

解:>> x=-2:0.05:2;y=x.^4-2.^x

两个近似解:y1=f(-0.85)= -0.0328; y2=f(1.250)= 0.0630

第二章 MATLAB编程与作图

1、 设x是数组,求均值和方差

解:函数文件如下:

function [xx,s]=func1(x)

n=length(x);

xx=sum(x)/n;

s=sqrt((sum(x.^2)-n*xx^2)/(n-1));

命令窗口:

>> x=[1 2 3 4 5];[xx,s]=func1(x)

2、求满足

s=0;

n=0;

while(s<=100)

s=s+log(1+n);

n=n+1;

end

n,s

3、用循环语句形成Fibonacci数列

F

1

=F

2

=1,F

k

=F

k−1

+F

k−2

,k=3,4,....

。并验证极限

ln(1+n)>100

的最小m值

n=0

m

F

k

1

+

5

(提示:计算至两边误差小于精度1e-8为止)

F

k−1

2

解: 求Fibonacci数列的函数文件:

function f=fun(n)

if n<=2

f=1;

else

f=fun(n-1)+fun(n-2);

end

验证极限的函数文件:

function [k,a]=funTest(e)

a=abs(1-(1+sqrt(5))/2);

k=2;

while(a>e)

k=k+1;

a=abs(fun(k)/fun(k-1)-(1+sqrt(5))/2);

end

命令行:

>> [k,a]=funTest(10^-8)

k =

21

a =

9.7719e-009

或者M文件如下:

clear; F(1)=1;F(2)=1;k=2;x=0;

e=1e-8; a=(1+sqrt(5))/2;

while abs(x-a)>e

k=k+1; F(k)=F(k-1)+F(k-2); x=F(k)/F(k-1);

end

a,x,k

4、分别用for和while循环结构编写程序,求出

K=

计,比较各种算法的运行时间。

解:循环结构:M文件loop.m

k=0;

for i=1:10^6

k=k+sqrt(3)*2^-i;

end

k

非循环结构:M文件nonLoop.m

i=1:10^6;

x=sqrt(3)*(2.^-i);

k=sum(x)

速度比较:>>tic;loop;toc %循环结构的执行时间

k =

1.7321

Elapsed time is 1.813000 seconds.

>> tic;nonLoop;toc %非循环结构的执行时间

k =

1.7321

Elapsed time is 1.094000 seconds.

5、作图描述气温变化

>> x=0:24;

>> y=[15,14,14,14,14,15,16,18,20,22,23,25,28,31,32,31,29,27,25,24,22,20,18,17,16];

>> plot(x,y)

6、作出下列函数图形

(1)

y=xsin(x−x−2)

−2≤x≤2

(分别使用plot和fplot完成)

解:>> fplot('x^2*sin(x^2-x-2)',[-2 2]) %fplot方法

22

10

6

i=

1

3

,并考虑一种避免循环语句的程序设

i

2


本文标签: 循环 结构 均值 函数