Matlab学习笔记1

2021-01-19  本文已影响0人  Max_Maxwell

学习视频和PDF均来自于TaiDa的郭老师,感谢B站Up的搬运,记性越来越差,所以记录一下目前遇到的问题和解决办法。

贴一个链接:MATLAB教程_台大郭彦甫(14课)原视频补档

1、06Advanced_plotting 在科研写作中,不同的的内容要使用不同种类的图形。

2、在进行结构体编程的时候,一直报错

错误:无法从 cell 转换为 double。

解决办法:给cell命名的变量之前已经用过了,它就是double类型的,所以解决办法要不就是换个变量名,要不就是用clear all;clc;清楚一下变量。

3、没搞出来

4、还是没搞出来,使用xlim和ylim不能把左边限制在图中这个范围内

代码:(参考了B站大佬的代码也还是出不来)

x=-3.5:.2:3.5;

y=-3.5:.2:3.5;

[X,Y]=meshgrid(x,y);

Z=X.*exp(-X.^2-Y.^2);

[C,h]=contourf(Z,[-.45:.05:.45]);

clabel(C,h);

xlim('auto');

axissquare;

结果

5、想看一下不同h条件下算出来的数值有什么趋势,画图的时候,刚开始使用的是m,出不来,没有定义x=1:1:7,用的是plot(i,m),此时i就是7,因为循环结束了,而且要在循环中使用m(i),不然m就是i等于7时候的值。但是如果单单输出m的话,循环就可以用m,不用m(i),就可以输出7个,不知道为什么。

x0=pi/2;

fori =1:7

    h(i)=0.1/10^(i);

    x=[x0 x0+h(i)];

    y=[sin(x0) sin(x0+h(i))];

    m(i)=diff(y)./diff(x)

end

x=1:1:7

plot(x,m);

6、power()求幂

power(2,3)=8

power(3,2)=9

7、一些设置坐标的函数语句

set(h(1),'linewidth',1,'color','b');

set(h(2),'linewidth',1,'color','g');

set(h(3),'linewidth',1,'color','r');

set(gca,'XLim',[0,2*pi]);

set(gca,'YLim',[-0.3,0.3]);

set(gca,'FontSize',18);

set(gca,'FontName','Times New Roman');

set(gca,'XTick',[0,pi/2,pi,3*pi/2,2*pi]);

set(gca,'XTickLabel',{'0','\pi/2','\pi','3\pi/2','2\pi'});

h=legend('h=0.1','h=0.01','h=0.001');

set(h,'FontName','Times New Roman');

8、title报错

出错 title (line 43)

  set(h, 'String', string,

  pvpairs{:});

错误原因:忘了加[]

正确形式:title(['the',num2str(i),'^{th}-order polynomials'])

9、为什么一定要加一个xq=0:.01:2.5;呢?

clearall;clc;

x=0:.25:2.25;

v=[1.2 1.18 1.1 1 0.92 0.8 0.7 0.55 0.35 0];

xq=0:.01:2.5;

figure

vq1=interp1(x,v,xq);

plot(x,v,'ob',xq,vq1,'-r');

xlim([0 2.5])

ylim([0 1.3])

holdon

vq2=interp1(x,v,xq,'spline');

plot(xq,vq2,'-g');

holdoff

title('Data and Fit Model');

legend('data','linear','spline')

学习Matlab的第一遍,先到此为止,后面再补充。

上一篇下一篇

猜你喜欢

热点阅读