找回密码
 注册
Simdroid-非首页
查看: 103|回复: 8

画极坐标云图。

[复制链接]
发表于 2014-6-28 16:46:22 | 显示全部楼层 |阅读模式 来自 湖南长沙
本帖最后由 timothy1985 于 2014-6-28 17:08 编辑

r=1:1:5;
alpha=linspace(0,360,10);
f=r.^2'*sin(alpha);

5个半径10个角度计算得出50个点,怎么画出其极坐标云图和直角坐标云图   contourf。


大神们帮帮忙啊
 楼主| 发表于 2014-6-28 16:53:10 | 显示全部楼层 来自 湖南长沙
Simdroid开发平台
简单点,  f=r.^2'*sin(alpha);
就可以了,大神们,拜托!
回复 不支持

使用道具 举报

发表于 2014-6-28 22:31:03 | 显示全部楼层 来自 四川成都
timothy1985 发表于 2014-6-28 16:53
简单点,  f=r.^2'*sin(alpha);
就可以了,大神们,拜托!

如下:
  1. clear
  2. clf
  3. r=1:5;
  4. alpha=linspace(0,2*pi,10);
  5. [ang,rad]=meshgrid(alpha,r);
  6. f=(rad.^2).*sin(ang);
  7. [x,y,z]=pol2cart(ang,rad,f);
  8. subplot(1,2,1)
  9. contourf(x,y,z,20);
  10. axis equal
  11. title('直角坐标云图');
  12. subplot(1,2,2)
  13. h=polar([0,2*pi],[1,5]);
  14. delete(h);
  15. hold on
  16. contourf(x,y,z,20)
  17. title('极坐标云图');
  18. hold off;
复制代码

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2014-6-28 23:53:26 | 显示全部楼层 来自 湖南长沙
老大出马了,太荣幸了!

运行了一下,太漂亮了!两个都非常完美,非常感谢:victory::victory::victory:
回复 不支持

使用道具 举报

 楼主| 发表于 2014-6-29 00:08:27 | 显示全部楼层 来自 湖南长沙

太感谢了。
遇见大神了,在顺便捎带一个问题;

我编写了一个程序,是从文本文件读数据,然后处理的,计算比较简单,就是一些查找和四则运算,
但是数据量比较大,最大的一个有96万行数据,执行结果都没有问题,但是奇慢无比,大概需要13分钟左右(手机计时器)。虽然一次13分钟能忍受,但是优化过程计算次数较多,就严重影响效率了。

请教版主大神有没有好的办法,让执行效率高一点,非常感谢
回复 不支持

使用道具 举报

发表于 2014-6-29 08:42:11 | 显示全部楼层 来自 四川成都
timothy1985 发表于 2014-6-29 00:08
太感谢了。
遇见大神了,在顺便捎带一个问题;

具体问题应该具体分析,主要还是要看你的程序是采取什么方式读的数据和怎样进行数据处理的。这方面的问题你可以问问rocwoods,他是行家。建议你买本他的《MATLAB高效编程技巧与应用:25个案例分析》来看看
回复 不支持

使用道具 举报

 楼主| 发表于 2014-6-30 07:27:27 | 显示全部楼层 来自 湖南长沙
lengyunfeng 发表于 2014-6-29 08:42
具体问题应该具体分析,主要还是要看你的程序是采取什么方式读的数据和怎样进行数据处理的。这方面的问题 ...

嗯,非常感谢你!

我买本书看看,学习一下,现在这样太折磨人了!
回复 不支持

使用道具 举报

 楼主| 发表于 2014-7-6 21:40:51 | 显示全部楼层 来自 湖南长沙

老大,顺便再问下。

如果计算出来一个矩阵,画出等高线图,怎么计算特定的等高线包围形成的图形的面积?
这个出来不是一个函数,也很难拟合出一个函数,怎么根据数据来计算?

我想到两种方法,都觉得有局限:
1)画出图形,导入,按照颜色区分,最后二值化,按照比例计算,这个比较麻烦;
2)根据数据,按照数据点形成的比例计算,但是极坐标情况下,每个点占据的面积是不一样的。这个又行不通


老大有什么好的办法吗!
盼回复,万分感谢。:handshake
回复 不支持

使用道具 举报

发表于 2014-8-24 20:43:28 | 显示全部楼层 来自 四川成都
timothy1985 发表于 2014-7-6 21:40
老大,顺便再问下。

如果计算出来一个矩阵,画出等高线图,怎么计算特定的等高线包围形成的图形的面积? ...

抱歉,最近才从工地回来,回复得晚了点哈。

其实平面上的任意点既可以用极坐标表示又可以直角坐标系来表示,二者之间是可以相互转换的。当我们知道一个封闭曲线上所有转点的X、Y坐标值,要求它的面积是有现成公式的,你可以百度一下。

另,我们绘图的时候经常玩纵横轴比例不一样的游戏,甚至有的时候会引入半对数坐标轴。

所以,我觉得你的第一种方法不是麻不麻烦的问题,而是行不行的问题;而你的第二个认为行不通的方法,反而是可行的。

仅供参考
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-7-3 07:05 , Processed in 0.038140 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表