如何用Matlab绘制球面图形?以不同视角观察球面:x^2+y^2+z^2=r^2; x^2+y^2=rx
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用Matlab绘制球面图形?以不同视角观察球面:x^2+y^2+z^2=r^2; x^2+y^2=rx相关的知识,希望对你有一定的参考价值。
参考技术A clear all;clc;r=2;
[x0,y0,z0]=sphere(50);
x=r*x0;y=r*y0;z=r*z0;
surf(x,y,z);hold on;
f=@(x,y)x.^2+y.^2-r*x;
ezsurf(f,[-1.5,2.5],[-2,1.5]);
axis equal;
view(30,20);
如何用matlab输出图形中各点的坐标
利用matlab,通过以下程序,画出图形。
程序:
R=10000;
B=3950;
T2=273.15+25;
syms T1;
ezplot(R*exp(B*(1/T1-1/T2)),[273.15+30:273.15+50]);
title('温度曲线');
xlabel('温度T1');
ylabel('电阻R');
图:
现在的问题是,我想让matlab输出每个横坐标对应的纵坐标。并且各横坐标按照0.1的间距增加。请高手帮忙。
实现的方法和详细的操作步骤如下:
1、第一步,选择菜单栏的“Data Cursor”选项,然后在要查看其坐标值的数据点上点击鼠标的左键,见下图,转到下面的步骤。
2、第二步,执行完上面的操作之后,在“tools”选项中单击“Data Cursor”按钮,见下图,转到下面的步骤。
3、第三步,执行完上面的操作之后,就获得了想要的结果了,见下图。这样,就解决了这个问题了。
参考技术A实现的方法和详细的操作步骤如下:
1、刚开始第一步就是打开matlab,接下来找到【Data Cursor】工具,下一步就是点击打开它。
2、接下来下一步就是鼠标左键单击图形中的任意位置,就可以看到各个点的坐标了。
2、也可以选择【tools】菜单栏下面的【Data Cursor】选项,具体情况如图:
3、接下来完成所有操作之后,就可以得到想要的结果,用matlab输出图形中各点的坐标。
1、如图所示,假设需要获取椭圆圈内的最大极值点的坐标。
2、显然,该函数图象上点的分布十分密集,为了能够拾取到正确的点,需要放大图像。使用放大图像按钮,框选需要放大的区域。
3、继续放大函数图像,到各点可清晰分辨为止,如图所示。
4、使用数据游标按钮,在最大极值点上或其附近点击,便拾取到了该最大极值点,其坐标也自动显示出来。本实例的最大极值点坐标为(4,2.22*10^9)。
5、若要获取更精确的坐标数值,可以在所拾取点的右键菜单中,选择将游标数据导出到工作区中再查看。
参考技术C R=10000;B=3950;
T2=273.15+25;
syms T1;
f=R*exp(B*(1/T1-1/T2));
ezplot(f,[273.15+30:273.15+50]);
title('温度曲线');
xlabel('温度T1');
ylabel('电阻R');
T1=[273.15+30:0.1:273.15+50];
result=subs(f,'T1',T1);
运行完程序后,对应的T1的纵坐标存放在result里边。追问
请问result在哪里?按照你说的,输入之后,还是只有图形,没有其它的。
追答在workspace框中,如下图,result和T1对应,双击打开。
范围就是图上的范围,[273.15+30:273.15+50]。由于我要精确到0.1,所以需要横坐标精确到小数点后一位,并且输出对应的纵坐标。
追答那样的话横坐标就混到一起看不清啦,要精确到0.1的话应该画一张表吧;
画完图后,写一句来设置横坐标:
set(gca,'xtick',[303.15:0.1:323.15])
...
结果图片就变成这样子了orz
我是要单独输出来,而不是在图形上显示。就像另外一个回答的那样。谢谢了哈。
追答那就subs一下用数值代换就欧了...
结果拷到excel里就好了
恩,你说的跟楼上那个一样,只是他要快一步。不过也同样谢谢。
追答不客气
以上是关于如何用Matlab绘制球面图形?以不同视角观察球面:x^2+y^2+z^2=r^2; x^2+y^2=rx的主要内容,如果未能解决你的问题,请参考以下文章