单页双曲面 matlab,如何画双叶双曲面
function c=make3d(fun_str,is_cplxgrid,x_min,x_max,precision,in_a,in_b,in_c,diff_n,s_color,is_x_y_z,math_Mode,in_R,is_holdon)
% 函数的使用说明
% 直接显示出函数的图像,及区域极大值(导数为0)、区域极小值(导数为0)
% 输入的参数:
% fun_str:函数字符串
% 例如:'(2.*x-a)/power((x-1),2)' ,其中,指数都要写成‘power(a,b)’的形式, ‘*’应该写成‘.*’,‘/’应该写成‘./’
% is_cplxgrid: 是否构建一个极坐标的复数数据网格。
% 一般在球状、椭球状模型时才需要构建复数数据网格(圆面),否则一般构建矩形数据网格。
% 0: 不构建;
% >0:产生(is_cplxgrid+1)*(2*is_cplxgrid+1)的极坐标下的复数数据网格,最大半径为1的圆面。
% x_max,x_min:需要在x轴的显示的区域极大值(导数为0)或区域极小值(导数为0),也可以视为定义域
% precision : 精度
% in_a,in_b,in_c:在函数需要用到的参数
% 例如:'(2.*x-a)/power((x-1),2)' ,其中,a=in_a
% diff_n:导数的阶,求n阶导数。0:不求导;>0: 求导;<0:求积分
% s_color :线条颜色,例如‘r'、’b‘
% 线形:-实线 -. 点划线 --长虚线 :短虚线
% 符号 颜色 符号 线形
% b 蓝 . 点
% c 青 。 圈
% g 绿 × ×标记
% k 黑 - 实线
% m 紫红 * 星号
% r 红 : 点线
% w 白 -. 点划线
% y 黄 -- 虚线
% is_x_y_z : 判断以哪个轴进行拉伸,缺省是z轴:x:x轴;y:y轴;z:z轴
% is_holdon :是否需要与以前的图像重叠,0:否;1:是
% c:返回值,暂时未定义
% math_Mode: 数学模型,用字符串表示:'球面'、'椭圆锥面'、'椭球面'、'椭圆抛物面'、'双曲抛物面'、'单叶双曲面'、'双叶双曲面'、其他。
% in_R: 半径
% +eps 可以避免分母为0
% make3d('x1=sqrt((z+y.^2./b.^2).*a.^2);mesh(real(x1),y,z);hold on;mesh(-real(x1),y,z);title(''双曲抛物面'');',-10,10,0.06,3,1,1,-1,'r','x',-1,1,0);
% make3d('x1=sqrt((z.^2./a.^2+y.^2./b.^2+1).*c.^2);mesh(real(x1),y,z);hold on;mesh(-real(x1),y,z);title(''双叶双曲面'');',-10,10,0.06,3,1,1,-1,'r','x',-1,1,0);
% make3d('z1=sqrt((x.^2./a.^2+y.^2./b.^2-1).*c.^2);mesh(x,y,real(z1));hold on;mesh(x,y,-real(z1));title(''单叶双曲面'');',-10,10,0.06,1,1,1,-1,'r','z',-1,1,0);
if is_holdon
hold on;
x=0;y=0;
else
hold off;
clf;
end
format long;
a=in_a;
b=in_b;
c=in_c;
fn_min=0;fn_max=0;y=0;f2_min=0;tt='';
switch is_x_y_z
case 'x'
if is_cplxgrid==0
fn_min=x_min;fn_max=x_max; % 设置函数的定义域[fn_min,fn_max]
y=(fn_min):precision:(fn_max*1);z=y;
[y,z]=meshgrid(y,z); % 产生矩形数据网格
else
x=cplxgrid(is_cplxgrid);y=real(x);z=imag(x); % 产生(is_cplxgrid+1)*(2*is_cplxgrid+1)的极坐标下的复数数据网格,最大半径为1的圆面。
end
eval(fun_str);
case 'y'
if is_cplxgrid==0
fn_min=x_min;fn_max=x_max; % 设置函数的定义域[fn_min,fn_max]
x=(fn_min):precision:(fn_max*1);z=x;
[x,z]=meshgrid(x,z); % 产生矩形数据网格
else
y=cplxgrid(is_cplxgrid);x=real(y);z=imag(y); % 产生(is_cplxgrid+1)*(2*is_cplxgrid+1)的极坐标下的复数数据网格,最大半径为1的圆面。
end
eval(fun_str);
otherwise
if is_cplxgrid==0
fn_min=x_min;fn_max=x_max; % 设置函数的定义域[fn_min,fn_max]
x=(fn_min):precision:(fn_max*1);y=x;
[x,y]=meshgrid(x,y); % 产生矩形数据网格
else
z=cplxgrid(is_cplxgrid);x=real(z);y=imag(z); % 产生(is_cplxgrid+1)*(2*is_cplxgrid+1)的极坐标下的复数数据网格,最大半径为1的圆面。
x=x.*in_R;y=y.*in_R;
x=x.*a;y=y.*b;
end
switch math_Mode
case '球面'
% a相当于x0, b相当于y0,c相当于z0,in_R相当于半径R
z1=sqrt(in_R.^2-(x-a).^2-(y-b).^2)+c;
surf(x,y,real(z1),'LineStyle','none');hold on;surf(x,y,real(-z1),'LineStyle','none');title('球面');
case '椭圆锥面'
z1=sqrt((x.^2./a.^2+y.^2./b.^2));
surf(x,y,real(z1),'LineStyle','none');hold on;surf(x,y,real(-z1),'LineStyle','none');title('椭圆锥面');
case '椭球面'
z1=sqrt((1-x.^2./a.^2-y.^2./b.^2).*c.^2);
surf(x,y,real(z1),'LineStyle','none');hold on;surf(x,y,real(-z1),'LineStyle','none');title('椭球面');
case '椭圆抛物面'
z1=x.^2./a.^2+y.^2./b.^2;
surf(x,y,real(z1),'LineStyle','none');hold on;surf(x,y,real(-z1),'LineStyle','none');title('椭圆抛物面');
case '双曲抛物面'
z1=x.^2./a.^2-y.^2./b.^2;
% surf(x,y,real(z1),'LineStyle','none');hold on;surf(x,y,real(-z1),'LineStyle','none');title('双曲抛物面');
surf(x,y,real(z1),'LineStyle','none');title('双曲抛物面');
case '单叶双曲面'
z1=sqrt((x.^2./a.^2+y.^2./b.^2-1).*c.^2);
surf(x,y,real(z1),'LineStyle','none');hold on;surf(x,y,real(-z1),'LineStyle','none');title('单叶双曲面');
% surf(x,y,real(z1),'LineStyle','none');
case '双叶双曲面'
z1=sqrt((x.^2./a.^2-y.^2./b.^2-1).*c.^2);
surf(x,y,real(z1),'LineStyle','none');hold on;surf(x,y,real(-z1),'LineStyle','none');title('双叶双曲面');
otherwise
title(math_Mode);
eval(fun_str);
end
end
grid on;
xlabel('x轴');ylabel('y轴');zlabel('z轴');
% axis([-10 10 -10 10 -10 10]);
% axis square;
axis equal
调用函数:
>> make3d('',100,-5,5,0.05,2,4,3,-1,'r','z','双叶双曲面',80,0);
>> make3d('',0,-5,5,0.05,2,4,3,-1,'r','z','双叶双曲面',3,0);
x^2/25+y^2/36 肯定是单叶双曲面啊!
单页双曲面 matlab,如何画双叶双曲面相关推荐
- 单页双曲面 matlab,在matlab中画函数(x^2+y^2)/9-z^2/4=1的旋转单叶双曲面
1.用matlabc打开命令行窗口,直接输入相关的内容. 2.下一步如果没问题,就根据实际情况来设置图示的代码. 3.这个时候通过确定操作以后,需要填写注释的信息. 4.这样一来会得到对应的效果图,即 ...
- 单页双曲面 matlab,matlab绘制单叶双曲面
应用 MATLAB 绘制二次曲面图 1.用 surf 工 mesh 函数绘图 Surf 函数绘制的是三维表面图,mesh 函数绘制的是三维网格图,当二次曲面方程是标准方 程时,原方程式...... m ...
- 单页双曲面 matlab,生成平面截单叶双曲面的gif动画的程序
%平面截单叶双曲面 clear clc filename='mianjiedanyeshuangqu.gif'; a=3; b=3; c=4; z = -1.5*c:c/20:1.5*c; [r,al ...
- 问题三十五: 怎么用ray tracing画二次曲面(quadratic surfaces)(2)——单页双曲面、双页双曲面、椭圆锥面、椭圆柱面
35.2.1 数学推导 单页双曲面.双页双曲面.椭圆锥面.椭圆柱面. 这四个二次曲面方程共同形式: 但是,注意到,这些曲面都是开放曲面.在画图时,需要限制曲面的范围(以免曲面覆盖整个画面). 我们在这 ...
- Leadtools Document教程:如何高效将数千个 PDF 文件拆分并转换为单页图像
LEADTOOLS Document Suite SDK是LEADTOOLS SDK功能的全面集合,旨在构建需要OCR,MICR,OMR,ICR,条形码,表单识别和处理,PDF,HTML5 / Jav ...
- matlab如何画波特图,matlab画波特图
Matlab 中 Bode 图的绘制技巧 学术收藏 2010-06-04 21:21:48 阅读 54 评论 0 字号:大中小 订阅 我们经常会遇到使用 Matlab 画伯德图的情况,可能我们我们都. ...
- matlab可以画3d图吗,如何用matlab画3d图
MATLAB三维绘图解读_自考_成人教育_教育专区.MATLAB 上次课内容回顾 1. 2. ? ? ? 3. 4. 5. MATLAB二维绘图 离散函数和数据的可视化; 二维曲线和图形 plot.. ...
- java 单页面spa_Javascript 与 SPA单页Web富应用
书单推荐 # <单页Web应用:JavaScript从前端到后端>http://download.csdn.net/detail/epubitbook/8720475 # <MVC的 ...
- 基于html5海贼王单页视差滚动特效
分享一款基于html5海贼王单页视差滚动特效是一款流行滑落网页特效代码.效果图如下: 在线预览 源码下载 实现的代码: <div class="top"><d ...
最新文章
- ABP 基础设施层——集成 Entity Framework
- MyBatis 的执行流程,写得太好了!
- selenium + python自动化测试unittest框架学习(五)webdriver的二次封装
- 160个Crackme020之无OD爆破
- [人工智能]手语识别转文字落地深圳医院,厉害了我的腾讯
- 命令行下运行JAVA出错:错误的签名:
- 驻云学院:实战阿里云之数据库系列
- 学生宿舍管理系统——UML 2nd
- ArcGIS重采样栅格后栅格数目居然不变(解决)
- Unity3D做的DEMO
- CF 379F: New Year Tree
- c语言:用牛顿迭代法求方程在1.5附近的根:2x^3-4x^2+3x-6=0.
- 基于XQ6657Z35-EVM开发平台上TI TMS320C6657 TLV320AIC3206音频设计
- 解决WSL2报错(请启用虚拟机平台 Windows 功能并确保在 BIOS 中启用虚拟化[已退出进程,代码为 4294967295])
- 专题·置换【including 置换,置换快速幂,洛谷·[HNOI2001]洗牌机
- 使用openssl制作证书和进行CMS格式数字签名
- 移动App开发 MUI框架 利用软键盘的搜索键实现页面跳转并传值
- cloc JAVA文件_代码统计工具CLOC的使用方法
- EBAZ4205矿板使用PS端时钟,给PL端,LED流水灯功能
- springboot大杂烩
热门文章
- torch对于tensor的常规操作
- 七牛云这个API,让我轻松搞定Banner背景自动切换的功能
- python提取图片文字
- while循环练习题-检测输入数据中奇数和偶数的个数
- 微信开放平台-第三方平台-全网发布接入【java版本】
- 在matplotlib使用中文坐标轴,设置坐标轴,标题字体及字体大小
- Android Studio调用百度地图(二):实现地图显示后台定位和步行导航
- 1051: 电报加密
- gpu浮点计算能力floaps_为何CPU浮点计算能力差,什么是浮点计算,GPU为何擅长浮点计算?...
- 独家:海尔消金“重仓”医美,月放款量惊人