24小时热门版块排行榜    

查看: 3776  |  回复: 6
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

shengjunjie

木虫 (正式写手)

[交流] 如何在matlab中绘制含有三个参数方程的三维图形 已有1人参与

如下面公式

对matlab不是很熟悉,想根据这个公式绘制如下三维图,其中c是常数,可以去1或者100、1000等,该如何编程,谢谢


[ Last edited by shengjunjie on 2011-4-15 at 09:33 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

好好学习,多运动,多发Paper...
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

杨小胖

金虫 (正式写手)


小木虫(金币+0.5):给个红包,谢谢回帖
上面的m文件来自小木虫
http://muchong.com/html/201006/2180805.html
人生中最辉煌的不是功成名就的时候,而是在失败和挫折中看到希望并为之奋斗的日子
6楼2011-04-21 12:37:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 7 个回答

杨小胖

金虫 (正式写手)


小木虫(金币+0.5):给个红包,谢谢回帖
【1】ezimplot3 存储该M文件,并将文件路径设置为matlab当前路径
function h = ezimplot3(fun,domain,n,color)
% EZIMPLOT3    Easy to use 3D implicit plotter.
%   EZIMPLOT3(FUN) plots the inline function FUN(X,Y,Z) = 0 over the
%   default domain -2*PI < X < 2*PI, -2*PI < Y < 2*PI, -2*PI < Z < 2*PI.
%
%   EZIMPLOT3(FUN,DOMAIN)plots FUN over the specified DOMAIN instead of the
%   default domain. DOMAIN can be the vector [XMIN,XMAX,YMIN,YMAX,ZMIN,ZMAX]
%   or the vector [A,B] (to plot over A < X < B, A < Y < B, A < Z < B).
%
%   EZIMPLOT3(...,N) plots FUN over the default domain using an N-by-N grid.
%   The default value for N is 60.
%
% Example
% Plot x^3+exp(y)-cosh(z)=4
%
% via a string: f='x^3+exp(y)-cosh(z)-4'
% ezimplot3(f)
%
% via a vectorized function handle: f = @(x,y,z) x.^3+exp(y)-cosh(z)-4
% ezimplot3(f)
%
% Note: this function do not use the ezgraph3 standard, like ezsurf, ezmesh
% ,etc, does. Because of that, ezimplot3 only tries to imitate that
% interface. A future work must be to modify the ezgraph3 to include a
% routine for implicit surfaces based on this file
%
%   Inspired by works of:   A.Jutan     UWO 02-02-98 ajutan@julian.uwo.ca
%   Made by:                G.Morales   UC  03-20-09 gmorales@uc.edu.ve
%
if nargin == 1
    domain = [-2*pi, 2*pi];             % default domain: -2*pi < xi < 2*pi
    n = 60;                             % default grid size
elseif nargin == 2
    n = 60;                             % just default grid
end
if  size(domain,2) == 2
    domain = repmat(domain,1,3);        %domain repeated in all variables
end
xm = linspace(domain(1), domain(2), n); % generating the volume data
ym = linspace(domain(3), domain(4), n);
zm = linspace(domain(5), domain(6), n);
[x,y,z] = meshgrid(xm, ym, zm);

if ischar(fun)
    fun = inline(vectorize(fun)); % making sure string "fun" is vectorized
    fvalues = feval(fun,x,y,z);         % evaluating "fun" in domain
elseif isa(fun,'function_handle')
    fvalues = fun(x,y,z);               % evaluating "fun" in domain
    fun = char(fun); fun = fun(9:end);  % pre-formatting of graph title
end
h = patch(isosurface(x,y,z, fvalues, 0)); %"patch" handles the structure
                                          %sent by "isosurface"
isonormals(x,y,z,fvalues,h) %Recalculating the isosurface normals based on
                            %the volume data
set(h,'FaceColor','red','EdgeColor','none');
xlabel('x');ylabel('y');zlabel('z');% naming the axis
alpha(0.8) % adjusting for some transparency
grid on
view(3)
axis equal
camlight
lighting gouraud
title([strrep(char(fun),'.','') ' = 0']); % graph title without "."
【2】在matlab命令窗口中输入
f='x-y*(y+1)*(z^(-2)-z^(-8))*x^2+(y+1)^2*(z^2-z^(-4))^3/100'

这里c我给取了10,所以c^2=100
人生中最辉煌的不是功成名就的时候,而是在失败和挫折中看到希望并为之奋斗的日子
2楼2011-04-21 09:41:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

杨小胖

金虫 (正式写手)


小木虫(金币+0.5):给个红包,谢谢回帖
如图。
好像渲染的效果需要改进。
楼主大致看看,借鉴一下。

人生中最辉煌的不是功成名就的时候,而是在失败和挫折中看到希望并为之奋斗的日子
3楼2011-04-21 09:44:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shengjunjie

木虫 (正式写手)

引用回帖:
Originally posted by 杨小胖 at 2011-04-21 09:44:06:
如图。
好像渲染的效果需要改进。
楼主大致看看,借鉴一下。

非常感谢,辛苦了
好好学习,多运动,多发Paper...
4楼2011-04-21 09:48:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 93BebMhtakh前后11位开头都是大写 +4 且听虎啸 2026-08-17 5/250 2026-08-18 00:49 by 蔡棒棒菂
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +37 医学老男孩 2026-08-13 86/4300 2026-08-18 00:18 by longsantaizi
[基金申请] 感觉是下周放榜了 +6 angus9576 2026-08-17 11/550 2026-08-17 23:57 by angus9576
[基金申请] filecode=后面第一个是大写字母 +8 wangze12014 2026-08-14 10/500 2026-08-17 17:05 by xter9665
[基金申请] 时间戳变了,能看出什么问题? +4 基诺咪客 2026-08-17 4/200 2026-08-17 16:10 by Vivilian
[基金申请] 哪位老哥知道今年的国自然具体哪一天放榜? +12 Ldrop2023 2026-08-13 15/750 2026-08-17 15:02 by 小豌豆_发芽
[基金申请] 今天系统多次维护,明天很可能放榜! +8 zju2000 2026-08-16 9/450 2026-08-17 12:20 by lmz0216
[基金申请] 时间戳又变了8-15 +13 archvillain 2026-08-15 25/1250 2026-08-16 20:13 by zhaosm1982
[基金申请] 快农历七夕节了,轻松一下,男人悄悄话,女施主请不要进来。 +3 Tide man 2026-08-14 3/150 2026-08-16 17:47 by jurkat.1640
[基金申请] 咱们一起用铁证分析2026国家社科基金中标与否 +7 启萌科技 2026-08-12 26/1300 2026-08-16 12:35 by 启萌科技
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
[基金申请] 是这周出结果还是下周出结果? +4 yuleib84 2026-08-11 4/200 2026-08-14 23:05 by lfy8008
[硕博家园] 读博的好处 +4 lnee 2026-08-11 4/200 2026-08-14 10:20 by ahsoarli
[基金申请] 重要来源:本周末出结果 +10 瞬息宇宙 2026-08-12 10/500 2026-08-13 15:46 by likettle
[基金申请] 不应该看fileCode +7 且听虎啸 2026-08-12 9/450 2026-08-13 14:27 by flydreamws
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
[基金申请] 分享一下我之前已中青C的计划书的filecode +4 布布和一二 2026-08-11 5/250 2026-08-13 12:56 by cratir
[基金申请] 结合人工智能,周易传统文化,filecode打分制来了,3分以上希望很大。 +3 Tide man 2026-08-12 4/200 2026-08-13 08:35 by ZJTJZ
[基金申请] 2019年青年基金涵评意见,大家看看几个A,几个B? +11 Tide man 2026-08-11 11/550 2026-08-13 07:35 by 撸猫猫
[基金申请] 什么时候出结果,有咨询渠道??? +3 Tide man 2026-08-11 3/150 2026-08-11 17:54 by kudofaye
信息提示
请填处理意见