求助!matlab带参数的隐函数画图!

作者&投稿:照湛 (若有异议请与网页底部的电邮联系)
如何用Matlab画隐函数(带参数)的方程~

没有什么太好的办法。
【1】解第一个方程,用1-(cos(x))^2=(sin(x))^2
>> x=solve('2*(1-(cos(x))^2)*cos(x)-cos(x)+cos(x0)-sin(x0)=0','x')

x =

[ acos(1/6*(54*cos(x0)-54*sin(x0)+6*(-6+81*cos(x0)^2-162*cos(x0)*sin(x0)+81*sin(x0)^2)^(1/2))^(1/3)+1/(54*cos(x0)-54*sin(x0)+6*(-6+81*cos(x0)^2-162*cos(x0)*sin(x0)+81*sin(x0)^2)^(1/2))^(1/3))]
[ acos(-1/12*(54*cos(x0)-54*sin(x0)+6*(-6+81*cos(x0)^2-162*cos(x0)*sin(x0)+81*sin(x0)^2)^(1/2))^(1/3)-1/2/(54*cos(x0)-54*sin(x0)+6*(-6+81*cos(x0)^2-162*cos(x0)*sin(x0)+81*sin(x0)^2)^(1/2))^(1/3)+1/2*i*3^(1/2)*(1/6*(54*cos(x0)-54*sin(x0)+6*(-6+81*cos(x0)^2-162*cos(x0)*sin(x0)+81*sin(x0)^2)^(1/2))^(1/3)-1/(54*cos(x0)-54*sin(x0)+6*(-6+81*cos(x0)^2-162*cos(x0)*sin(x0)+81*sin(x0)^2)^(1/2))^(1/3)))]
[ acos(-1/12*(54*cos(x0)-54*sin(x0)+6*(-6+81*cos(x0)^2-162*cos(x0)*sin(x0)+81*sin(x0)^2)^(1/2))^(1/3)-1/2/(54*cos(x0)-54*sin(x0)+6*(-6+81*cos(x0)^2-162*cos(x0)*sin(x0)+81*sin(x0)^2)^(1/2))^(1/3)-1/2*i*3^(1/2)*(1/6*(54*cos(x0)-54*sin(x0)+6*(-6+81*cos(x0)^2-162*cos(x0)*sin(x0)+81*sin(x0)^2)^(1/2))^(1/3)-1/(54*cos(x0)-54*sin(x0)+6*(-6+81*cos(x0)^2-162*cos(x0)*sin(x0)+81*sin(x0)^2)^(1/2))^(1/3)))]

【2】变换ctan为1/tan
>>y='(sin(x)-cos(x)-sin(x0)+cos(x0))*(1+1/tan(x0))'
【3】替换y中的x,为x0的变量
>> y1=subs(y,'x',x)

y1 =

[ ((1-(1/6*(54*cos(x0)-54*sin(x0)+6*(-6+81*cos(x0)^2-162*cos(x0)*sin(x0)+81*sin(x0)^2)^(1/2))^(1/3)+1/(54*cos(x0)-54*sin(x0)+6*(-6+81*cos(x0)^2-162*cos(x0)*sin(x0)+81*sin(x0)^2)^(1/2))^(1/3))^2)^(1/2)-1/6*(54*cos(x0)-54*sin(x0)+6*(-6+81*cos(x0)^2-162*cos(x0)*sin(x0)+81*sin(x0)^2)^(1/2))^(1/3)-1/(54*cos(x0)-54*sin(x0)+6*(-6+81*cos(x0)^2-162*cos(x0)*sin(x0)+81*sin(x0)^2)^(1/2))^(1/3)-sin(x0)+cos(x0))*(1+1/tan(x0))]
[ ((1-(-1/12*(54*cos(x0)-54*sin(x0)+6*(-6+81*cos(x0)^2-162*cos(x0)*sin(x0)+81*sin(x0)^2)^(1/2))^(1/3)-1/2/(54*cos(x0)-54*sin(x0)+6*(-6+81*cos(x0)^2-162*cos(x0)*sin(x0)+81*sin(x0)^2)^(1/2))^(1/3)+1/2*i*3^(1/2)*(1/6*(54*cos(x0)-54*sin(x0)+6*(-6+81*cos(x0)^2-162*cos(x0)*sin(x0)+81*sin(x0)^2)^(1/2))^(1/3)-1/(54*cos(x0)-54*sin(x0)+6*(-6+81*cos(x0)^2-162*cos(x0)*sin(x0)+81*sin(x0)^2)^(1/2))^(1/3)))^2)^(1/2)+1/12*(54*cos(x0)-54*sin(x0)+6*(-6+81*cos(x0)^2-162*cos(x0)*sin(x0)+81*sin(x0)^2)^(1/2))^(1/3)+1/2/(54*cos(x0)-54*sin(x0)+6*(-6+81*cos(x0)^2-162*cos(x0)*sin(x0)+81*sin(x0)^2)^(1/2))^(1/3)-1/2*i*3^(1/2)*(1/6*(54*cos(x0)-54*sin(x0)+6*(-6+81*cos(x0)^2-162*cos(x0)*sin(x0)+81*sin(x0)^2)^(1/2))^(1/3)-1/(54*cos(x0)-54*sin(x0)+6*(-6+81*cos(x0)^2-162*cos(x0)*sin(x0)+81*sin(x0)^2)^(1/2))^(1/3))-sin(x0)+cos(x0))*(1+1/tan(x0))]
[ ((1-(-1/12*(54*cos(x0)-54*sin(x0)+6*(-6+81*cos(x0)^2-162*cos(x0)*sin(x0)+81*sin(x0)^2)^(1/2))^(1/3)-1/2/(54*cos(x0)-54*sin(x0)+6*(-6+81*cos(x0)^2-162*cos(x0)*sin(x0)+81*sin(x0)^2)^(1/2))^(1/3)-1/2*i*3^(1/2)*(1/6*(54*cos(x0)-54*sin(x0)+6*(-6+81*cos(x0)^2-162*cos(x0)*sin(x0)+81*sin(x0)^2)^(1/2))^(1/3)-1/(54*cos(x0)-54*sin(x0)+6*(-6+81*cos(x0)^2-162*cos(x0)*sin(x0)+81*sin(x0)^2)^(1/2))^(1/3)))^2)^(1/2)+1/12*(54*cos(x0)-54*sin(x0)+6*(-6+81*cos(x0)^2-162*cos(x0)*sin(x0)+81*sin(x0)^2)^(1/2))^(1/3)+1/2/(54*cos(x0)-54*sin(x0)+6*(-6+81*cos(x0)^2-162*cos(x0)*sin(x0)+81*sin(x0)^2)^(1/2))^(1/3)+1/2*i*3^(1/2)*(1/6*(54*cos(x0)-54*sin(x0)+6*(-6+81*cos(x0)^2-162*cos(x0)*sin(x0)+81*sin(x0)^2)^(1/2))^(1/3)-1/(54*cos(x0)-54*sin(x0)+6*(-6+81*cos(x0)^2-162*cos(x0)*sin(x0)+81*sin(x0)^2)^(1/2))^(1/3))-sin(x0)+cos(x0))*(1+1/tan(x0))]
【4】用ezplot分别画图
>> ezplot(y1(1))
>> ezplot(y1(2))
>> ezplot(y1(3))

matlab提供了画二维隐函数表示的图像的函数ezplot():
ezplot(FUN) 在默认区间 -2*PI < X < 2*PI 且 -2*PI < Y < 2*PI上绘制 FUN(X,Y) = 0表示的图像。
示例如下:绘制心形线 x^2+y^2+2*x=2*sqrt(x^2+y^2)
>> ezplot('x^2+y^2+2*x=2*sqrt(x^2+y^2)')

close all;clear all;clc;

    % 方程(xr-a)^2+(yr-b)^2=(1.77*cot(fai))^2; 是个圆方程

    % 可以用参数表示 t 表示

    % xr - a = 1.77*cot(fai) * cos(t)

    % yr - b = 1.77*cot(fai) * sin(t)

    % t 的范围是 0 到 2*pi

    % 可以采用循环方法对fai进行循环,代码写起来比较简单

    % 也可以用矩阵运算方法, 这样结果可以都保存到xr,yr中

% 初始变量设定如下:

x0 = 0;

y0 = 0;

theta = pi/4;

% 循环方法

N=10; % 矩阵运算方法中 fai 的分段数

M=100; % 每一个小圆的分段数

figure(1);hold on;

for fai = -pi/3:pi/12:pi/3 % pi/12 可以自行修改

    t = linspace(0,2*pi,M);

    a=x0-1.77*cot(fai)*sin(theta);

    b=y0+1.77*cot(fai)*cos(theta);

    xr = a+1.77*cot(fai) * cos(t);

    yr = b+1.77*cot(fai) * sin(t);

    plot(xr,yr,'k-') 

end

% 矩阵运算方法

figure(2);hold on;

fai = linspace(-pi/3,pi/3,N); 

t = linspace(0,2*pi,M);

a=x0-1.77*cot(fai)*sin(theta)

b=y0+1.77*cot(fai)*cos(theta);

a = repmat(a,M,1)';

b = repmat(b,M,1)';

xr = a+1.77*cot(fai)' * cos(t);

yr = b+1.77*cot(fai)' * sin(t);

for i = 1:N

    plot(xr(i,:),yr(i,:),'k-')

end



图片给出矩阵运算方法的结果,而循环方法的结果也类似:




MATLAB 能干嘛?
MATLAB是一种高级的技术计算语言和交互环境,用于算法开发、数据可视化、数据分析和数值计算。MATLAB是矩阵与实验室两个词的结合,也就是矩阵工厂(矩阵实验室)。这是一个高科技的计算环境,由MathWorks公司面临的主要问题,在科学计算可视化、交互式编程的脸。matlab的详细介绍数值分析、矩阵计算、科学数据...

matlab怎么用
exit 关闭MATLAB exp 指数 expand 对指定项展开 expm 矩阵指数 eye 单位阵 ezcontour 画等位线 ezcontourf 画填色等位线 ezmesh 画网线图 ezmeshc 画带等位线的网线图 ezplot 绘制符号表达式的二维图形 ezplot3 画三维曲线 ezpolar 画极坐标曲线 ezsurf 画曲面图 ezsurfc 画带等位线的曲面图 F f factor 进行因式...

怎么样用matlab编写程序借助二元矩阵计算可达矩阵
编程思路如下:假设邻接矩阵为A,I为链路长度矩阵。经过n步后为可达矩阵M,则有:B=(A+I)^n=I+A+A^2+..A^n 再将B中非零元素改为1,零元素不变即为A的n步可达矩阵M;代码如下:function M=reach(A,I,n)A,I和n要给定 [row,cow]=size(A) %此处row和cow应该相等 E=ones(row,cow...

matlab中dsolve的用法
照着原题写,有时候subs替换容易出莫名其妙的问题,当然多数情况是对的,建议直接写。>> y=dsolve('D2y*x=sqrt(1+Dy^2)\/2','y(100)=0,Dy(100)=0','x');>> y y = (10*x^(1\/2)*(x\/100 - 3))\/3 + 200\/3 - (10*x^(1\/2)*(x\/100 - 3))\/3 - 200\/3 ...

如何用MATLAB打开tdms文件
为了使用MATLAB打开tdms文件,首先需下载并安装MATLAB编译器,建议选择中间的版本,即tdm64-gcc-9.2.0.exe。下载后,请直接安装,确保安装路径默认在C盘,这样便于后续操作。接着,按照特定网址提供的说明添加系统环境变量。虽然可能对环境变量的概念感到困惑,但遵循指南中的步骤,逐步操作即可完成。完成系统...

matlab解微分方程组(带参数)
可以借助于嵌套函数或匿名函数实现附加参数的传递,例如 function main y0 = [1.4; 0.1; 0.1];A = linspace(eps, 10, 20);Y = A * NaN;for ii = length(A)a = A(ii);y = ode45(@eq2, [0 a], y0);Y(ii) = y(end, 1);end plot(A, Y)function dy=eq2(t,y)dy = ...

MATLAB图像处理:99:创建图像直方图
在MATLAB中,图像直方图是通过imhist函数来创建的,它有助于分析图像中强度分布的特性。这个函数通过设定n个等间距的bin,每个bin代表一个强度值的区间,统计每个区间内的像素数量。例如,当你发现图像强度值范围较小,可以通过调整函数将其扩展到更广泛的范围,以优化图像处理效果。首先,将图像读入MATLAB的...

matlab 的用途是什么?
MATLAB主要用于数值分析、数值和符号计算、工程与科学绘图、控制系统的设计与仿真、数字图像处理、数字信号处理、通讯系统设计与仿真、财务与金融工程,是一款商业数学软件。MATLAB是matrix和laboratory两个词词根的组合,意为矩阵工厂。该软件将数值分析、矩阵计算、科学数据可视化、非线性动态系统的建模和仿真等...

matlab怎么读
软件功能特点:MATLAB提供了丰富的内置函数和工具箱,用户可以方便地进行数值分析、信号处理、控制系统设计、图像处理等多种任务。其强大的可视化功能也使得数据展示更加直观和生动。此外,MATLAB还支持与其他编程语言的交互,为用户提供了更多的开发选择。总之,正确读好MATLAB的名称有助于更好地理解和应用这款...

grid on在matlab中的作用
grid on在Matlab中的作用是打开网格线。在Matlab中,当我们绘制图形或图像时,有时为了更好地观察数据点或曲线的分布趋势,我们需要在图形上添加网格线。这时,我们就可以使用"grid on"命令来打开网格线。网格线通常是等间距的,它们覆盖在整个图形区域上,为用户提供了一个直观的参考框架,有助于分析...

娄底市15178658002: 怎么用matlab画含有隐函数的参数函数图像 -
莫苑益脉: 可这样:a,b用x,y代替 k=linspace(0,30,10)*pi/180; for jj=1:length(k) syms x y ezplot(asin(2*sin(k(jj)))-k(jj)-asin(2*sin(y))-y-2*x,[-30,90,-40,40]*pi/180) hold on end 上面是画到一张图上的程序,也可分别画到10张图上,如下:k=linspace(0,30,10)*pi/...

娄底市15178658002: 如何用Matlab画隐函数(带参数)的方程 -
莫苑益脉: 没有什么太好的办法. 【1】解第一个方程,用1-(cos(x))^2=(sin(x))^2 >> x=solve('2*(1-(cos(x))^2)*cos(x)-cos(x)+cos(x0)-sin(x0)=0','x') x = [ acos(1/6*(54*cos(x0)-54*sin(x0)+6*(-6+81*cos(x0)^2-162*cos(x0)*sin(x0)+81*sin(x0)^2)^(1/2))^(1/3)+1/(54*...

娄底市15178658002: 求matlab三维隐函数作图?急
莫苑益脉: 方法一: 如果实在表示不出,可以用isosurface绘制三角网格图. 比如绘制隐函数(x^2+(9/4)*y^2+z^2-1)^3=x^2*z^3+(1/9)*y^2*z^3的图像(一颗爱心) [x,y,z]=meshgrid(linspace(-1.3,1.3)); val=(x.^2 + (9/4)*y.^2 + z.^2 - 1).^3 - x.^2.*z.^3 - (1/9)*y.^2....

娄底市15178658002: 怎么用matlab绘制隐函数 -
莫苑益脉: 隐函数作图命令:ezplot 用法有:ezplot(fun) ezplot(fun,[min,max]) ezplot(fun,[xmin,xmax,ymin,ymax]) ezplot(funx,funy) ezplot(funx,funy,[tmin,tmax]) ezplot(...,figure_handle) ezplot(axes_handle,...) 用来绘制 fun = 0 的图像.因此这里的隐函数为 f(x,y)=y^3+sin(x)-2*x-exp(y) 作图步骤:syms x y; ezplot('y^3+sin(x)-2*x-exp(y)')

娄底市15178658002: 如何用matlab画这个隐函数的曲线 -
莫苑益脉: 用matlab的ezplot()函数可以画隐函数的曲线.如 ezplot('x^2-y^4=0')

娄底市15178658002: 如何使用MATLAB画隐函数的图像,比如z=(u^ - 1+v^ - 1)^ - 5,其中u=1 - exp(x)? -
莫苑益脉: 如何使用MATLAB画复杂隐函数的图像?分析题主给出的函数关系,首先我们应抓住 y=0.8*((v^2)/3)+0.256*(v^3-v) 函数,是否能解出实数范围的 v 表达式,如有则求出,然后再将x、y代入u、v表达式中计算得到z.实现上述方法,我们可以这样...

娄底市15178658002: matlab绘制复杂隐函数 -
莫苑益脉: syms x y; ae=5.6533*x*y+5.4512*x*(1-y)+6.0584*(1-x)*y+5.8688*(1-x)*(1-y); as=5.8688; ee=(ae-as)/as; b=-1.76*x*y-1.5*x*(1-y)-1.8*(1-x)*y-2.0*(1-x)*(1-y); c11=11.88*x*y+14.120*x*(1-y)+8.329*(1-x)*y+10.22*(1-x)*(1-y); c12=5.38*x*y+6.253*x*(1-y)+4.526*(1-x)*y+5.76*(1-x)*(1-y); ezplot((-2)*b*ee*(1+2*c12/c11)-(1e-2))

娄底市15178658002: 带有两个变量的隐函数组的图形用MATLAB怎么画 -
莫苑益脉: 对,例如:syms x y eq1=x+y^2-2; eq2=x^2-y+4; ezplot(eq1) hold on ezplot(eq2)

娄底市15178658002: 用matlab画隐函数图形~~ -
莫苑益脉: syms x; y=sin(x); ezplot(y); 或者直接 ezplot('sin(x)');

娄底市15178658002: 如何在matlab中将三个隐函数图像画在同一个图上 -
莫苑益脉: 直接画不行吗?你先试试,有问题再说:clear all;clc; f1=@(x,y)exp(y)+x.*y-exp(1); f2=@(x,y)x.^2-y.^4; f3=@(x,y)x-y+sin(y)/2; h1=ezplot(f1);hold on; h2=ezplot(f2); h3=ezplot(f3); title('隐函数图像') set(h1,'color','r'); set(h2,'color','m');

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网