关于matlab画双曲线的问题程序代码:close all;a=1.5;b=6;c=40;d=24;x=-8:0.1:16;y1=sqrt((a*x.^2-2*b*x+c)/d);y2=-sqrt((a*x.^2-2*b*x+c)/d);y3=sqrt(2/3);y4=-sqrt(2/3);y5=sqrt(-7/3+0.5*x);y6=-sqrt(-7/3+0.5*x);y7=sqrt(-22/3+x);y8=-sqrt(-22/3+x);

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 12:09:54

关于matlab画双曲线的问题程序代码:close all;a=1.5;b=6;c=40;d=24;x=-8:0.1:16;y1=sqrt((a*x.^2-2*b*x+c)/d);y2=-sqrt((a*x.^2-2*b*x+c)/d);y3=sqrt(2/3);y4=-sqrt(2/3);y5=sqrt(-7/3+0.5*x);y6=-sqrt(-7/3+0.5*x);y7=sqrt(-22/3+x);y8=-sqrt(-22/3+x);
关于matlab画双曲线的问题
程序代码:close all;
a=1.5;
b=6;
c=40;
d=24;
x=-8:0.1:16;
y1=sqrt((a*x.^2-2*b*x+c)/d);
y2=-sqrt((a*x.^2-2*b*x+c)/d);
y3=sqrt(2/3);
y4=-sqrt(2/3);
y5=sqrt(-7/3+0.5*x);
y6=-sqrt(-7/3+0.5*x);
y7=sqrt(-22/3+x);
y8=-sqrt(-22/3+x);
figure;
plot(y1,x);
hold on;
plot(y2,x);
hold on;
plot(y3,x,'blue');
hold on;
plot(y4,x,'blue');
hold on;
plot(y5,x);
hold on;
plot(y6,x);
hold on;
plot(y7,x);
hold on;
plot(y8,x);
请问为什么会多出来一段X轴的

关于matlab画双曲线的问题程序代码:close all;a=1.5;b=6;c=40;d=24;x=-8:0.1:16;y1=sqrt((a*x.^2-2*b*x+c)/d);y2=-sqrt((a*x.^2-2*b*x+c)/d);y3=sqrt(2/3);y4=-sqrt(2/3);y5=sqrt(-7/3+0.5*x);y6=-sqrt(-7/3+0.5*x);y7=sqrt(-22/3+x);y8=-sqrt(-22/3+x);
原因是你的y5,y6,y7,y8这四个向量中出现了虚数,在执行时会产生警告:
Warning: Imaginary parts of complex X and/or Y arguments ignored
意思就是画图时,虚部被忽略了,这样对于负数求平方根将得到一个纯虚数,纯虚数的虚部被忽略后,就剩下0了,所以你的图中就出现了中间那条竖线.如果想要消灭那条 竖线,在画这四个向量时,需要抛弃虚部不为0的部分,即是虚数的部分.
另外,你的hold on不需要写那么多次,一次就够了.从你的代码的figure处开始,其后的代码修改成这样,结果就是正确的了:
figure;hold on;
plot(y1,x,'r');
plot(y2,x,'r');
plot(y3,x,'b');
plot(y4,x,'b');
plot([fliplr(y6(imag(y6)==0)) y5(imag(y5)==0)],[fliplr(x(imag(y6)==0)) x(imag(y5)==0)],'k');
plot([fliplr(y8(imag(y8)==0)) y7(imag(y7)==0)],[fliplr(x(imag(y8)==0)) x(imag(y7)==0)],'k');
解释:其中imag是求向量的虚部.fliplr是将一个向量倒序,例如[1 2 3 4 5]倒序后变为[ 5 4 3 2 1].

关于matlab画双曲线的问题程序代码:close all;a=1.5;b=6;c=40;d=24;x=-8:0.1:16;y1=sqrt((a*x.^2-2*b*x+c)/d);y2=-sqrt((a*x.^2-2*b*x+c)/d);y3=sqrt(2/3);y4=-sqrt(2/3);y5=sqrt(-7/3+0.5*x);y6=-sqrt(-7/3+0.5*x);y7=sqrt(-22/3+x);y8=-sqrt(-22/3+x); MATLAB的拟合函数polyfit 的程序代码是什么啊 关于matlab的作业问题 单位阶跃信号用MATLAB 怎么表示啊?最好能将MATLAB的程序代码写出来. 急求运筹学单纯型法的matlab程序代码!期末了急求运筹学上机实验matlab程序代码,题目是单纯型法,知道的请指教, 关于matlab计算表达式的问题.求教! 怎么用matlab画出变上限函数及其导函数的图形.这个程序代码怎么写 MATLAB画三维矢量图K是关于gama和theta的矢量函数,且K的i、j、k三个方向分别是gama和theta的三角函数,gama和theta分别从零到pi/2,如何用matlan画出K和gama、theta的三维矢量关系图,请附说明和程序代码 在MATLAB中如何画二次曲线请教高手在MATLAB中如何画出诸如3x2+5y2+xy+3x+4y=2的曲线,最好给出完整的程序代码, vb求三角函数和画三角函数的程序代码 关于matlab语句解析问题/> 请教matlab大神帮忙绘制2x+3y+4z=1的图像,要有程序代码附上就更好. matlab求解函数k*0.085=3.7986+log(k);对数是自然对数,求此函数的解和程序代码 如何用MATLAB绘制多项式曲线比如怎样绘制y=x^3+x的曲线,求程序代码 matlab编程序:写出对x(n),y(n)分别做64点离散傅里叶变化的程序代码,谢谢! 关于双曲线的 关于MATLAB的reshape函数问题,reshape(A,[], matlab 中怎样产生一个1到100的随机整数?matlab 中怎样产生一个1到100的随机整数?程序代码?