学习视频和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的第一遍,先到此为止,后面再补充。