如何用matlab进行曲线拟合的时候把3根线画在一个图上 我用matlab做了两条离散点
www.zhiqu.org 时间: 2020-12-20
hold on
首先画第一个图;
然后敲入hold on 再画第二个图
然后敲入hold on 再画第三个图
hold off
就可以了
昨天网坏了。补上
这个过程很复杂
首先你得拟合出方程表达式:
1)、下面是生成方程系数:
>> RL=[0 10 20 30 50 100 300 500 1000 5000 10000];
I=[100.3 91.4 83.9 77.5 67.2 50.2 25.2 16.9 9.3 1.98 1.01];
UO=[9.96 9.07 8.32 7.68 6.66 5.00 2.48 1.66 0.90 0.195 0.098];
UL=[0 0.88 1.63 2.27 3.30 4.98 7.51 8.34 9.09 9.81 9.91];
xs1=polyval(RL,I)
xs2=polyval(RL,UO)
xs3=polyval(RL,UL)
xs1 =
1.0e+019 *
1.0481 0.4551 0.2110 0.1035 0.0288 0.0021 0.0000 0.0000 0.0000 0.0000 0.0000
xs2 =
1.0e+010 *
1.1937 0.5258 0.2475 0.1233 0.0359 0.0031 0.0000 0.0000 0.0000 0.0000 0.0000
xs3 =
1.0e+010 *
0.0000 0.0000 0.0000 0.0000 0.0001 0.0030 0.1015 0.2527 0.5360 1.0449 1.1421
2)、生成具体的方程:
这一步我查了好多资料可惜没有现成的命令将其转化成数值方程,非数值在后面无法画出图形,所以你只能自己手动敲了。我给你敲个例子:
>> x=0:1:10000;
>> f1=1.0e+019*1.0481*x.^10+1.0e+019*0.4551*x.^9+1.0e+019*0.2110*x.^8+1.0e+019*0.1035*x.^7+1.0e+019*0.0288*x.^6+1.0e+019*0.0021*x.^5;
>> plot(x,f1)
如插入。
画出第一个之后不要关闭图片窗口,在command windows中敲入hold on 回车
再以同样的方法敲
f2=...
plot(x,f2)
hold on
f3=...
plot(x,f3)
hold off
就全部画在一张图上了,完事。
想复制下来,可以按Edit—Copy Figure随便粘在哪里就可以了。
希望明白了。
拟合出两个曲线方程后求交点,可用solve命令求出交点坐标
横线是bar,波浪线是tilde
下面是例子
x=linspace(-5,5);
plot(x,sin(x));
h=legend('$$y=\sinilde{x}$$');
set(h,'interpreter','latex','FontSize',15);
有波浪线常见的情况有下面几种:一是你定义的变量可能没有在程序中用到,这个你把鼠标移到上面自然有英文显示,这种错误没事,不影响程序的运行,只是感觉程序累赘罢了
再一种就是程序编写错误,比如输入if循环的时候少了end的时候会在if下有波浪线,这是只要你运行就会提示你这一行有错,这种错误是致命的
楼主是在自定义M文件函数NewmarkBetaLinear的第一步,依经验看是没有语法错的,可能是你在编写的初始其中的变量还没有正式用到过,暂时的显示波浪线,如果你编写完整后,各种参量都用到且无语法错误,波浪线会自动消失的,这也是常见的。或者你把鼠标移到波浪线下面仔细看英文的意思,相信可以有收获!
在图形里面的工具栏有,你找一下就知道了。
MATLAB用plot拟合数据~我现在有三组数据,x是一样的就y不一样,然后想把三条曲线拟合在一张图上~
: x=(1:1:10)';y1=x.^2+5*rand(size(x));y2=x.^2+5*rand(size(x))+10;y3=x.^2+5*rand(size(x))+20; %y1,y2,y3是三组数据,这里用函数加随机噪声代替%注意x,y1,y2,y3要是长度相等的列向量p1=polyfit(x,y1,2);fity1=polyval(p1,x);p2=polyfit(x,y2,2);fity2=...
在matlab里几条曲线怎么进行拟合为一条曲线
: 如果只是平面上的10个点,就在命令窗口输入cftool,敲回车,打开平面曲线拟合工具箱;如果是空间中的10个点,就在命令窗口中输入sftool,敲回车,打开空间曲线拟合工具箱;使用拟合工具箱是比较简单的办法,你也可以自己在命令框里使用matlab命令完成曲线拟合,polyfit二项式拟合,lsqcurvefit曲线拟合,regress一元回归,即使没有工具箱,matlab也可以通过各种命令完成任务,不要像楼上一样偷懒哦
在matlab中怎么将几条拟合好的曲线放在同一个图中_
: 三次拟合可以分别进行,结果y1 y2 y3分别保存下来,最后一起画图:plot(x, y1, x, y2, x, y3) 这样就可以同时画出三条曲线了.
在matlab中如何将散点与拟合曲线表示在同一个图中?
: t=[0:54];y=[1.4712 1.45327 1.44467 1.42513 1.41487 1.40393 1.382667 1.3706 1.35807 1.34513 1.33187 1.3186 1.3048 1.29107 1.27733 1.2637 1.25007 1.2366 1.2311 1.2179 1.2049 1.19226 1.17993 1.175 1.1631 1.15167 1.14727 1.13633 ...
matlab怎么把多条曲线拟合_
: 你看这样可以不>> x= 0:0.01:10; %需要拟合的区间 y1 = 4*x.*x+5*x-9; y2 = 4*x.*x+6*x-10; y = (y1+y2)/2; p=polyfit(x,y,2) p = 4.0000 5.5000 -9.5000 plot(x,y1,x,y2,x,y)
matlab三条曲线怎样拟合成一条?_
: 画在一张图上,使用一个hold on 语句即可
如何用MATLAB在一个图中用以下3组数据画三条直线?_
: >> x1=[1 2 3 4 5 6]; x2=[1 2 3 4 5 6]; x3=[1 2 3 4 5 6]; X=[x1;x2;x3]; y1=[174.9 166 161.2 157 155.5 154.8]; y2=[80.4 93.6 102.2 107.8 110 112.5]; y3=[67.2 67.2 67.2 67.2 67.2 67.2]; Y=[y1;y2;y3]; plot(X',Y') grid
怎样用MATLAB去拟合已知曲线的一部分?比如只需拟合一条曲线的尾部?
: 在拟合前提取出变量的最后一部分数据.假设,你的数据横坐标变量为x,纵坐标变量为y,拟合函数y=f(x),可以采用如下方法提取出所要的部分数据:index=intersect(find(x>=4000),find(x 评论0 0 0
用matlab怎么将两条拟合曲线放在一张图中?
: hold on;plot(x1,y1,'*'),plot(x2,y2,'^')
matlab中如何在一张图上画多条拟合曲线
: plot可以画多条曲线在一个图上主要把拟合的数据也算出来,一起画就好了