第一章 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、求满足
的最小m 值 100)1ln(0>+∑=m n n s=0;
n=0;
while(s<=100)
s=s+log(1+n);
n=n+1;
end
n,s
3、用循环语句形成Fibonacci 数列,....4,3,,12121=+===−−k F F F F F k k k 。并验证极限2
511+→−k k F F (提示:计算至两边误差小于精度1e-8为止) 解: 求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
matlab考试题库及答案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 循环结构编写程序,求出∑==
61012
3i i 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) )2sin(22−−=x x x y 22≤≤−x (分别使用plot 和fplot 完成)
解:>> fplot('x^2*sin(x^2-x-2)',[-2 2]) %fplot 方法
>> x=-2:0.1:2;y=x.^2.*sin(x.^2-x-2);plot(x,y) %plot 方法 如图(4.1)
(2)19
42
2=+y x (椭圆 提示:用参数方程) 解:>> r=-pi:0.1:pi;x=2*cos(r);y=3*sin(r);plot(x,y) % 如图(4.2)
解法二
x=-2:1/100:2;
y1=3*sqrt(1-x.^2/4); y2=-3*sqrt(1-x.^2/4);
plot(x,y1,'r-',x,y2,'r-'); axis equal tight;
图(4.1) 图(4.2) (3) (抛物面) 2
2y x z +=3,3<<y x
解:(错误)>> x=[-3:0.1:3];y=[-3:0.1:3];z=x.^2+y.^2; plot3(x,y,z) % 如图(4.31)
(正确)>> xa=-3:0.1:3;ya=-3:0.1:3;[x,y]=meshgrid(xa,ya); % 如图(4.32)
>> z=x.^2+y.^2;mesh(x,y,z);
>> surf(x,y,z)
图(4.31)error 图(4.32) (4)曲面133,3,622232
224<<−<+−−−++=y x y x y x y x x z
解: >> xa=linspace(-3,3,100);ya=linspace(-3,13,100);
>> [x,y]=meshgrid(xa,ya);
>> z=x.^4+3*x.^2+y.^2-2*x-2*y-2*x.^2.*y+6;
>> mesh(x,y,z)
>> surf(x,y,z)
(5)空间曲线20),2cos(,cos ,sin <<===t t z t y t x
解:>> t=linspace(0,2,50);x=sin(t);y=cos(t);z=cos(2*t);
>> plot3(x,y,z)
(6)半球面 o o 900,3600,cos 2,sin sin 2,cos sin 2≤≤≤≤===θφφθφθφz y x 解: >>a=linspace(0,2*pi,50);b=linspace(0,pi/2,50);
>> [a,b]=meshgrid(a,b);
>> x=2*sin(a).*cos(b);y=2*sin(a).*sin(b);z=2*cos(a);
>> surf(x,y,z)
(7)三条曲线合成图π<<−===x x y x t y x y 0,sin ),10sin(sin ,sin 321
解: >>x=linspace(0,pi,50);y1=sin(x);
>> plot(x,y1);hold on;
>> y2=sin(x).*sin(10*x);
>> plot(x,y2);
>> y3=-sin(x);
>> plot(x,y3);
>> hold off;
7、作下列分段函数图⎪⎩⎪⎨⎧−<≤>−=1
.11.11
.11.11.1x x x x y
x=-5:0.1:5;
for i=1:length(x)
if x(i)>1.1
y(i)=1.1;
elseif x(i)<-1.1
y(i)=-1.1;
else
y(i)=x(i);
end
end
plot(x,y);
grid on;
9、用MATLAB 函数表示下列函数,并作图。
⎪⎩⎪⎨⎧
−≤++−−≤+<−−−>+−−−=1
),5.175.375.0exp(5457.011),6exp(7575.01
),5.175.375.0exp(5457.0),(222222y x x x y y x x y y x x x y y x p
解:建立M文件pxy如下:
xa=-2:0.05:2;ya=xa;
nx=length(xa);ny=length(ya);
[x,y]=meshgrid(xa,ya);
z=zeros(nx,ny);
[a1,b1]=find(x+y>1); %第a1列b1行对应的x+y>1 (x对应列;y对应行) %第a1列对应的x值是xa(a1);第b1行对应的y值是ya(b1)
z((a1-1)*ny+b1)=0.5457*exp(-0.75*ya(b1).^2-3.75*xa(a1).^2-1.5*xa(a1));
[a2,b2]=find(x+y<=1&x+y>-1);
z((a2-1)*ny+b2)=0.7575*exp(-ya(b2).^2-6*xa(a2).^2);
[a3,b3]=find(x+y<=-1);
z((a3-1)*ny+b3)=0.5457*exp(-0.75*ya(b3).^2-3.75*xa(a3).^2+1.5*xa(a3));
surf(x,y,z);
命令窗口:
>> pxy
运行结果如右图:
或者M文件如下:
xa=-2:0.1:2;ya=-2:0.1:2;[x,y]=meshgrid(xa,ya);
6、运行demo
解:>>demo
7、查询trapz的功能、用法、目录、程序结构、相同目录下其它文件
解:>> help trapz ――功能用法
>> type trapz――程序结构,源码
>> which trapz――所在目录
>> help C:\MATLAB6p5\toolbox\matlab\datafun――该目录下其它文件
第三章 矩阵代数
2、求下列线性方程组的解
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论