matlab绘制三维图形在线等!绘制方程R=130*(V1+V2)/(V1-V2),V1,V2取-667和667之间y=linspace(-667,667,300)x=124*(667+y)/(667-y);plot(x,y) 我这么写有什么问题?为啥出来的是直线?
来源:学生作业帮助网 编辑:作业帮 时间:2024/12/02 02:15:49
matlab绘制三维图形在线等!绘制方程R=130*(V1+V2)/(V1-V2),V1,V2取-667和667之间y=linspace(-667,667,300)x=124*(667+y)/(667-y);plot(x,y) 我这么写有什么问题?为啥出来的是直线?
matlab绘制三维图形在线等!
绘制方程R=130*(V1+V2)/(V1-V2),V1,V2取-667和667之间
y=linspace(-667,667,300)
x=124*(667+y)/(667-y);
plot(x,y)
我这么写有什么问题?为啥出来的是直线?
matlab绘制三维图形在线等!绘制方程R=130*(V1+V2)/(V1-V2),V1,V2取-667和667之间y=linspace(-667,667,300)x=124*(667+y)/(667-y);plot(x,y) 我这么写有什么问题?为啥出来的是直线?
%说明下,下面的程序是已知三维坐标并保存在txt文档中,画三维图,和你的稍有不同,你参考下方法%
clear all;
clc
close all
temdat=load('F:\test.txt');
x=temdat(:,1);
y=temdat(:,2);
z=temdat(:,3);
minx = min(x);
maxx = max(x);
miny = min(y);
maxy = max(y);
xtemp=linspace(min(x),max(x),1000);%1000这个是选择的数值样本大小,越大曲线越平滑%
ytemp=linspace(min(y),max(y),1000);
[X,Y]=meshgrid(xtemp,ytemp);
Z=griddata(x,y,z,X,Y,'cubic');%cubic的选取参照文档最下方关于griddata的说明,有时用nearest和V4会出现异常点%
surf(X,Y,Z)
shading interp
%%%%%%%%
差值通常使用的interp和griddata的区别:
二者均是常用的二维插值方法,两者的区别是,
interp2的插值数据必须是矩形域(X,Y必须分别是单调向量),即已知数据点(x,y)组成规则的矩阵,或称之为栅格,可使用meshgid生成.
griddata函数的已知数据点(X,Y)不要求规则排列,特别是对试验中随机没有规律采取的数据进行插值具有很好的效果.
griddata 调用方法:
ZI = griddata(x,y,z,XI,YI)
[XI,YI,ZI] = griddata(x,y,z,XI,YI)
[...] = griddata(...,method)
[...] = griddata(...,method,options)
method 的值为
'linear' -- 则,以三角形为基础的线性内插
'cubic' -- 则,以三角形为基础的三次方程内插
'nearest' -- 则,用最邻近的点内插
'v4'-- -- 则,MATLAB 4 格点样条函数内插
默认'linear' 线性内插
%%%%%%%%%