当前位置:文档之家› 北京交通大学matlab复习资料

北京交通大学matlab复习资料

P1051. 主程序:[s1,kk]=quad('f1',0,2);[s2,kk]=quad('f2',2,4);s=s1+s2函数:function y=f1(x)y=log(x.^2);function y=f2(x)y=log(16)./(2+sin((x+1).*pi));f1=inline('log(x.^2)','x');f2=inline('log(16)./(2+sin((x+1).*pi))','x');[s1,kk]=quad(f1,0,2);[s2,kk]=quad(f2,2,4);s=s1+s23. syms x a taus=int(log(x.^2),0.5,tau)solve(s==10)4.求解方程x5+6x4-3x2=10的5个根,并将其位置用五角星符号标记在复平面上,要求横纵坐标轴刻度等长,注明虚轴和实轴,在title位置上写出方程。

clc;closeall;clear all;factor=[1 6 0 -3 0 -10];ro=roots(factor);disp(ro);scatter(real(ro),imag(ro),'p');axis equal;title('x^5+6x^4-3x^2=10');xlabel('real axis');ylabel('imagine axis(j)');6.某班同学成绩已经存放在矩阵A中,每行为某一位同学的数据,第1列为学号,第2列至第4列为其三门课程的成绩,试编程按照3门课平均成绩由小到大的顺序重新排列成绩表,并放在矩阵B中。

clc;clearall;close all;A=[99234012,95,73,88;99234033,84,77,80;99234009,66,80,72;99234067,92,93,59];[y,index]=sort(mean(A(:,2:end),2));B=A(index,:);disp(B);9. figure (1)[u,v,b]=ginput(5);line(u,v);for i=1:5;str=['(',num2str(u(i)),')'];text(u(i),v(i),str);end11.解如下微分方程,并绘制出图像y(x).(1)function ydot= f(x,y)ydot=zeros(2,1);ydot(1)=y(2);ydot(2)=2*(y(2).^2);t0=0;tf=1; x0=[0,-1];[t,x]=ode45('f',[t0,tf],x0);plot(t,x);title('y=f(x)');xlabel('x');ylabel('y');(2)t0=1;tf=2; x0=[1,0];[t,x]=ode45('f',[t0,tf],x0);plot(t,x);title('y=f(x)');xlabel('x');ylabel('y');function xdot= f(t,x)xdot=zeros(2,1);xdot(1)=x(2);xdot(2)=-1./(x(1).^3);p873. 在同一坐标系下绘制t2,- t2,t2sint在t[0,2pi]内的曲线图;选择合适的“曲线线型”,“曲线颜色”、“标记符号”选项,并在图形上加注坐标轴名和图名。

close all;clearall;clc;t=linspace(0,2*pi,1024);y1=t.^2; y2=-t.^2; y3=(t.^2).*sin(t);figure(2);plot(t,y1,':y',t,y2,'--g',t,y3,'-r');legend('y=t^2','y=-t^2','y=t^2*sin(t)');title('三个函数图形');xlabel('t');ylabel('f(t)');4.theta=linspace(0,16*pi,2048);subplot(2,2,1);polar(theta,1.0013*theta.^2);subplot(2,2,2);polar(theta,cos(3.5*theta));subplot(2,2,3);polar(theta,sin(theta)./theta);subplot(2,2,4);polar(theta,1-(cos(7*theta)).^3);5. ttl={'主视图','左视图','俯视图','三维图'};angle={[0,0],[-90,0],[0 90],[-37.5,30]};for i=1:4subplot(2,2,i);x=0:0.01:1;y=0:0.02:2;[x,y]=meshgrid(x,y);z=1./sqrt((1-x.^2)+y.*2)+1./sqrt((1+x.^2)+y.^2);mesh(x,y,z)view(angle{i});title(ttl{i});end6. 用鼠标左键在图形窗口上取5个点,在每个点的位置处写出一个字符串来显式鼠标点的横坐标值,然后将这些点连成折线。

axis([0,5,0,5]);hold on;box on;x=[];y=[];gtext('');for i=1:5[x1,y1,button]=ginput(1);if(button~=1)break;endplot(x1,y1,'o');x=[x,x1];y=[y,y1];text(x1,y1,num2str(x1));line(x,y);endhold off老师: figure (1)[u,v,b]=ginput(5);line(u,v);for i=1:5;str=['(',num2str(u(i)),')'];text(u(i),v(i),str);end油桶clc;clear;syms x y h;w=ezplot('x^2/(2.5^2)+(y-2)^2/4-1=0'); %绘制椭圆.set(w,'Color','k');hold on;axis([-2.55,2.55,0,4.05]); %设置坐标值.set(gca,'XTick',[],'XColor','w'); %%%将坐标隐去.set(gca,'YTick',[],'YColor','w');line([0,0],[0,4],'Color','k','LineStyle','-') %画出中间刻度线.hold on;s=int(((100-25*(y-2).^2)/16).^0.5,0,h); %用int函数求不定积分.for i=1:25H(i)=solve(s-0.3125*i,h); %求得各个刻度的高度.endfor i=1:25if mod(i,4)==0plot([-0.3,0.3],[H(i),H(i)],'b') ; %每四格为一长刻度.elseplot([-0.1,0.1],[H(i),H(i)],'k') ;endend%标注长刻度分别为20,40,60,80,100,120.text(0.4,0.86,'20'); text(0.4,1.42,'40');text(0.4,1.93,'60');text(0.4,2.43,'80');text(0.35,2.97,'100');text(0.35,3.64,'120');用循环语句形成一个有20个分量的数组,满足fibonacci规则,令第K+2个元素满足a(k+2)=a(k)+a(k+1)a(1)=1;a(2)=1;for k=1:18a(k+2)=a(k)+a(k+1);enda在同一图形窗口上分成四个绘图区域,试分别绘制主视图,左视图,俯视图和默认视角的三位表面图。

ttl={'主视图','左视图','俯视图','三维图'};angle={[0,0],[-90,0],[0 90],[-37.5,30]};for i=1:4subplot(2,2,i);ezmesh('关于x,y,z的关系表达式',[取值范围]);view(angle{i});title(ttl{i});endttl={'主视图','左视图','俯视图','三维图'};angle={[0,0],[-90,0],[0 90],[-37.5,30]};for i=1:4subplot(2,2,i);ezmesh('1/((1-X)^2+Y^2)^0.5+1/((1+X)^2+Y^2)^0.5',[-2 2]);view(angle{i});title(ttl{i});End试用文字和数学公式描述下面指令要完成的计算任务roots([11 0 -6 2 0 -3])roots为求多项式的根,其向量表达多项式的系数,对应降幂排列,那么就有本题对应求解11x^5-6x^3+2x^2-3的根。

试举例说明matlab语言中三位数组是如何定义的。

在Matlab中习惯性的会将二维数组中的第一维称为“行”第二维称为“列”,而对于三维数组的第三位则是习惯性的称为“页”。

在Matlab中将三维及三维以上的数组统称为高维数组,三维数组也是高级运算的基础。

举例如课本31页。

在程序段中插入语句A=zeros(10000,1);能显著缩短程序运行时间。

因为插入本语句后,在循环语句前预先为变量A分配了足够的单元,循环时只需向各元素内填数,如果不插入的话则未预先定义A的大小,每次执行一次循环体便要扩充一次y的长度,增加了内部工作量。

相关主题