matlab好看的曲面,matlab画自由曲面

版本:matlab R2016a

需求:画一个三维图。xy平面上是y = x^2和y = (x-1)^2之间的区域,纵轴可以是x,y的函数,这里为了简化,简单把z设置为常数1。

clear all

clc

x = -2:0.1:0; %给x range成一系列的点,类似标准曲面中用到的meshgrid

y1 = @(x) (x-1).^2; %定义函数1

y2 = @(x) x.^2; % 定义函数2

[~,n] = size(x);

Y = []; % mesh中的Y矩阵

X = []; % mesh中的X矩阵

for i = 1:n

yy1 = y1(x(i)); % 对每一个x, 产生下边界

yy2 = y2(x(i));% 对每一个x,产生上边界

y = linspace(yy1,yy2,20); % 将两个函数之间产生点用以组成meshgrid中的点

X = [X ones(20,1)*x(i)]; % 为每一个y配置一个x,这些y公用一个x

Y = [Y;y];  % 同上

end

surf(X,Y',ones(20,21)); %ones()相当于Z

总结:目前感觉自由曲面的画法宗旨上与标准曲面上一样,只不过需要自己构建meshgrid。或许还有其他一些更简单的画法,以后再学习吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值