一维插值的应用画图

1.问题

画你自己的手的形状,在MATLAB中输入

figure('position',get(0,'screensize'))

axes('position',[0 0 1 1])

[x,y]=ginput;

将你的手掌张开放在计算机屏幕上,然后使用计算机鼠标选取一系列点勾勒出手的轮廓,按回车键结束ginput过程,这样就获得了一系列你的手掌外形数据点(x,y)。也可以这样获得数据点(X,Y),先把手放在一张白纸上,并用笔画出它的轮廓线,然后将纸贴在计算机屏幕上,透过纸能看到平面上的鼠标,并通过ginput记录下轮廓上的点。将x和y坐标值看作是两个独立变量的函数,独立变量的取值为从1到记录的点的数目。利用MATLAB的插值函数进行插值,并画出你的手掌外形轮廓。

2.代码

% figure('position',get(0,'screensize'))

% axes('position',[0 0 1 1])

% [x,y]=ginput;

clc;clear;

data=xlsread('手.xls');

x=data(:,1);

y=data(:,2);

plot(x,y,'bo','LineWidth',2.5); hold on

plot(x,y,'--r','LineWidth',3.5); hold on

n=length(x);

x1=spline(1:n,x,1:0.1:n);

y1=spline(1:n,y,1:0.1:n);

plot(x1,y1,'k','LineWidth',2.5); hold on

legend({'手o','手','手插值'},'FontSize',15);

xlabel({'x'},'FontSize',18);ylabel({'y'},'FontSize',18);

title({'手'},'FontSize',18);

%设置边框宽度坐标轴美化

set(gca,'linewidth',1.5);

set(gca,'XGrid', 'off', 'YGrid', 'off', ... 

'TickDir', 'in', 'TickLength', [.015 .015], ... 

'XMinorTick', 'on', 'YMinorTick', 'on', ... 

'XColor', [.1 .1 .1], 'YColor',[.1 .1 .1]);

3.绘图

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Matlab中,可以使用多个函数来进行三维画图。其中,contour3函数可以用来绘制三维等高线图,通过指定x、y和z的值以及等高线的级别,可以生成一个三维等高线图。例如,使用contour3(x,y,z,levels,'ShowText','on')可以绘制一个带有标签的三维等高线图。\[1\] 另外,plot3函数类似于plot函数,可以用来绘制三维空间下的折线图。通过指定x、y和z的值,可以生成一个三维折线图。例如,使用plot3(x,y,z)可以绘制一个三维折线图。\[2\] 在绘制三维图形时,还可以使用shading函数来设置色彩模式。shading函数有三种模式:faceted、flat和interp。faceted是默认的模式,flat在faceted的基础上去掉图上的网格线,interp在flat的基础上进行色彩的插值处理,使色彩平滑过渡。通过设置shading模式,可以调整图形的色彩效果。\[3\] 综上所述,Matlab提供了多种函数来进行三维画图,包括contour3、plot3和shading函数。可以根据具体需求选择合适的函数来绘制所需的三维图形。 #### 引用[.reference_title] - *1* *2* *3* [使用MATLAB进行三维图像绘制](https://blog.csdn.net/weixin_57109262/article/details/123427730)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值