查看: 1934  |  回复: 5

bangnihuihui

新虫 (初入文坛)

[求助] 小女子跪求:Matlab插值问题,困扰已久,新虫散尽币 已有1人参与


关于Matlab插值问题
现有数据为500条线,每条线上取500个点组成的csv表格。
每一个纵向表示一条线,共500条。每一个横向表示每一条线上的500个点。
现用Matlab编程如下画三维图:

z=CSVread('C:\Users\Bonnie\Desktop\cc\cc-500.csv');%%导入数据
x=1:501;
y=1:500;
[x,y]=meshgrid(x,y);%%创建100*101矩阵
surf(x,y,z);%%创建三维图

但结果发现图很粗糙,希望能采用插值法使图看起来更细腻一些,不知如何是好。
有大侠说,最直接的办法是可以再多取一些线,关键问题是不是一个图,而是N+N个,实在不忍
希望有大侠给小女子支支高招,在此拜谢啦!!
附件为Matlab的m文件、fig文件及csv数据
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : cc.rar
  • 2015-01-04 06:52:45, 4.13 M

» 猜你喜欢

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

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
bangnihuihui: 金币+10, ★★★★★最佳答案, 谢谢楼主,热情帮助,很受益,好银一生平安 2015-01-04 20:15:43
插值代码,参考:
CODE:
clear all;clc
z=CSVread('C:\Users\DELL\Desktop\cc-500.csv');%%导入数据
x=1:10:501;
y=1:10:500;

z=z(1:10:end,1:10:end);


[x,y]=meshgrid(x,y);%%创建100*101矩阵

[x1,y1]=meshgrid(1:1:501,1:1:500);
z1=griddata(x,y,z,x1,y1,'v4');
figure(1)
surf(x,y,z),view(15,30),shading interp %%创建三维图

figure(2)
surf(x1,y1,z1),view(15,30),shading interp;

其中 griddata 可以换成 interp2(x,y,z,x1,y1,'spline')[

数据量太大,25万个元素,最好能将数据中起伏最大的环状区域单独取出来,再精细插值。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
2楼2015-01-04 09:02:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bangnihuihui

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by 月只蓝 at 2015-01-04 09:02:24
插值代码,参考:
clear all;clc
z=CSVread('C:\Users\DELL\Desktop\cc-500.csv');%%导入数据
x=1:10:501;
y=1:10:500;

z=z(1:10:end,1:10:end);


=meshgrid(x,y);%%创建100*101矩阵

=meshgrid(1:1:5 ...

楼主说的“起伏最大的环状区域单独取出来,再精细插值”如何操作啊?比如说,我想在第200到250条线之间,每条线的200到250个点,的这个区域内再细算一下。
多谢楼主提醒的好建议,好人一枚啊
3楼2015-01-04 20:20:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bangnihuihui

新虫 (初入文坛)

引用回帖:
3楼: Originally posted by bangnihuihui at 2015-01-04 20:20:10
楼主说的“起伏最大的环状区域单独取出来,再精细插值”如何操作啊?比如说,我想在第200到250条线之间,每条线的200到250个点,的这个区域内再细算一下。
多谢楼主提醒的好建议,好人一枚啊...

楼主说的“起伏最大的环状区域单独取出来,再精细插值”如何操作啊?比如说,我想在第200到250条线之间,每条线的200到250个点,的这个区域内再细算一下。谢谢啊
4楼2015-01-06 23:51:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bangnihuihui

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by 月只蓝 at 2015-01-04 09:02:24
插值代码,参考:
clear all;clc
z=CSVread('C:\Users\DELL\Desktop\cc-500.csv');%%导入数据
x=1:10:501;
y=1:10:500;

z=z(1:10:end,1:10:end);


=meshgrid(x,y);%%创建100*101矩阵

=meshgrid(1:1:5 ...

楼主说的“起伏最大的环状区域单独取出来,再精细插值”如何操作啊?比如说,我想在第200到250条线之间,每条线的200到250个点,的这个区域内再细算一下。谢谢啊
5楼2015-01-07 00:35:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

引用回帖:
5楼: Originally posted by bangnihuihui at 2015-01-07 00:35:02
楼主说的“起伏最大的环状区域单独取出来,再精细插值”如何操作啊?比如说,我想在第200到250条线之间,每条线的200到250个点,的这个区域内再细算一下。谢谢啊...

在你的数据中,环状区域z的数值比较大而且起伏波动最大,其他区域z值几乎等于0了,用MATLAB的 if 语句,比如以z值大于10,000的判断标准,把所有z值大于10,000的点取出来,把这些点单独进行插值。
参考代码:
CODE:
z=CSVread('C:\Users\Bonnie\Desktop\cc\cc-500.csv');
x=1:501;
y=1:500;
[x,y]=meshgrid(x,y);

n=length(x);
m=length(y);
for i=1:n
for j=1:m
if z(i,j)>10000
z_new(i,j)=z(i,j);
else
z_new(i,j)=0;
end
end
end
z_new

得到z_new后,对其进行插值。

然后再用类似的代码把所有z值小于10,000的点取出来,这些点与z_new的图像叠加。

需要说明的是,上述做法只是一个初步的思路,也许在算法、代码方便可以进一步优化,仅供参考。
by the way,在论坛中,“楼主”一词专指发帖人,即某一帖子的发起者,比如这个帖子,楼主专指 bangnihuihui 你,其他回帖者都不是楼主。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
6楼2015-01-07 08:52:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 bangnihuihui 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[有机交流] OpenAI又攻克数学难题了,离AI做有机合成还有多远? +4 wangyl_123 2026-10-10 8/400 2026-10-12 18:09 by wangyl_123
[硕博家园] 极限拉扯,如何抉择 +5 Isak0320 2026-10-12 7/350 2026-10-12 18:03 by 有人要害朕
[教师之家] 课题组会帮你通过考核么? +3 好运来~9527 2026-10-10 6/300 2026-10-12 14:55 by 简单化xn
[公派出国] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:34 by XQNyDCa1Tk5n
[公派出国] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 22:26 by XQNyDCa1Tk5n
[找工作] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 22:26 by XQNyDCa1Tk5n
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:15 by XQNyDCa1Tk5n
[教师之家] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 (EPI+-1)(金币-50) +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 22:06 by XQNyDCa1Tk5n
[基金申请] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:06 by XQNyDCa1Tk5n
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 (EPI+-1)(金币-50) +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 14:25 by VOMexwnDzOFZ
[教师之家] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 (EPI+-1)(金币-50) +4 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 14:05 by VOMexwnDzOFZ
[考研] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 13:51 by VOMexwnDzOFZ
[硕博家园] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 13:45 by VOMexwnDzOFZ
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 10:54 by VOMexwnDzOFZ
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +4 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 10:34 by VOMexwnDzOFZ
[考博] 招收博士生一名 +3 mandolin 2026-10-10 3/150 2026-10-11 10:21 by 不是山谷!
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 qR2AdCWTVtkw 2026-10-09 4/200 2026-10-11 03:14 by M0zrYVSAnxpE
[有机交流] 各位大佬,路线设计求助 +6 zapen 2026-10-08 8/400 2026-10-10 15:59 by zapen
[基金申请] 入职后第一次管课题组的专利缴费,对账才发现官费比别人多掏了一倍 +5 13108017953 2026-10-08 5/250 2026-10-10 11:15 by wdwd123
[有机交流] 我应该选哪条合成路线让实验成功率高一些? +5 jing816y 2026-10-08 9/450 2026-10-10 09:05 by zapen
信息提示
请填处理意见