MATLAB 交换X轴和Y轴
来源:学生作业帮助网 编辑:作业帮 时间:2024/05/09 13:50:15
axis([xminxmaxyminymax])输入之间有空格
voidswap(int*x,int*y){inttmp=*x;*x=*y;*y=tmp;}
如果x,y都是单个元素就不用加点,如果x,y是向量或是矩阵,加点就表示相应元素进行运算,而不加点表示进行矩阵运算,当不满足维数的要求时,会出错.
%打开并拿到figure的handleh_fig=open('1.fig');%如果h_fig是figure会返回'figure'get(h_fig,'Type')%拿到figure里axes的han
x=0:0.1:10;y=sin(x);plot(x,y)xlabel('X');ylabel('Y');axis([0,10,-1.2,1.2]);set(gca,'XTickMode','manu
X取值1,2,和y等于x对应值的平方此时为1,4,sum(y)是y的和即5再问:x取两个值?再答:是的
用下边的命令:y=sin(x);>>x=0:0.01:2*pi;>>plot(x,y)>>xlabel('x轴')>>ylabel('y轴')>>axis([0,2*pi,-1.5,1.5])
表达式必须自己估计.有很多表达式都能拟合出类似曲线.matlab里做曲线拟合的主要有(我经常用的)有这两个:polyfit和lsqcurvefit.前者专门对高次多项式拟合,后者则适用于绝大多数非线性
如果有现成的数据,最简单的就是直接plot(y,x);如果已经绘图,再提取数据嫌麻烦,可以用:view(90,90)set(gca,'xdir','reverse')
[X,Y]=meshgrid(-2.75:.005:2.75);表示数据点的x,和y变化范围都是从-2.75to2.75,step=.005.画轴时,默认范围x,y,大于等于数据范围可能点子太多(我的
用axis的position属性吧,把高度改小一些pos=get(gca,'Position')pos(4)=0.5*pos(4)set(gca,'Position',pos)
匿名函数
使用polar函数绘制极坐标图确实存在这个讨厌的问题,目前还没有太好的解决方法,只能想办法避开.变通的做法是,先绘制rho比较大的曲线,再绘制比较小的曲线.
如果空间还够的话,改变一下对齐方式,比如:xlabel('thisisXAxisLabel','HorizontalAlignment','right');
用如下代码:x=0:10;y=x+1; plot(x,y); xlim([0,10]) ylim([0,10]) grid on得到的图片为
你的代码其实已经挺好了.就是画箭头.如果数据范围变大,你的ax中的0.3,0.2也要变,至于怎么变,可以根据百分比.x=-60:60;y=x;plot(x,y);holdon;plot([00],[m
x=0:pi/20:pi;r=sin(x);[a,b,c]=cylinder(r,30);mesh(a,b,c)
x=0:0.02:2*pi;y1=sin(x)y2=cos(x)%求sin(x),cos(x)的值plot(x,y1);%画sinx图xlabel('x')ylabel('y1')title('sin
你可以用另一个矩阵B=A,使B矩阵各处值在(0,0.1)范围内的全部取0.1,(0.2,0.3)区间内的则取0.2.再画图就行了:B=A;fornn=1:10B(find(
画图的时候假如是x=-1:.1:1;y=sin(x);plot(x,y);你要求的换变量只要改变plot里边的未知就行即plot(y,x);