matlab绘制多维数据图


前言

matlab绘制图像方面非常强大,本次记录我在使用过程中的一些总结。


一、四元函数

F = 1 ∣ X 2 + Y 2 + Z 2 + A 2 ∣ F=\frac{1}{|X^2+Y^2+Z^2+A^2|} F=X2+Y2+Z2+A21

二、使用步骤

1.设置渲染方法

代码如下(示例):

%% 设置图像渲染方法
% set(gcf, 'Renderer', 'Painter')
% set(gcf, 'Renderer', 'Zbuffer')
% 选择采用OpenGL渲染图像
set(gcf, 'Renderer', 'OpenGL')   

2.生成坐标轴

代码如下(示例):

%% 生成坐标轴
x15 = -1:0.1:1;   
% 第一维的独立变量
x4 = -1:0.1:1;  
% 第二维的独立变量
x7 = -1:0.1:1;   
% 第三维的独立变量

3.设置彩色条的取值范围

maxcolor = 4;   
% 定义最大值
mincolor = 0;   
% 定义最小值
% 调用hsv配色方案
colormap hsv

设置动画

% 动画
for x5 = -1:0.02:1   % 第四维的独立变量
% 描述第五维的方程
data = 1/abs(X.^2 + Y.^2 + Z.^2 + x5.^2);
% data = 2.492+0.009*X+0.034*Y-0.235*Z-0.003*x5;

4.作图

figure(1);
% 绘制切片
% slice(x,y,z,v,sx,sy,sz),
% 其中x,y,z为三维数据,
% v是关于x,y,z的函数,
% sx,sy,sz是切片的位置
slice(X, Y, Z, data, 0, 0, 0);
% 对进行色彩的插值处理,使色彩平滑过渡
shading interp                      
% 设置当前figure中字体,字号
set(gca, 'FontName', 'Times New Roman', 'FontSize', 14)
% 标注x,y,z轴
xlabel('X');ylabel('Y');zlabel('Z');
% 给图像加标题
title(['F=1/abs(X^2 + Y^2 + Z^2 + x5^2),for x5 = ' num2str(x5)])
% 设置当前对象的透明度
alpha(0.75)
% 限制彩色条的取值
caxis([mincolor maxcolor])
% 显示彩色条
colorbar
% 刷新屏幕
drawnow

5.保存

%% 保存为GIF动画
% 获取当前画面
F = getframe(gcf);
%转成gif图片,只能用256色
im = frame2im(F);
[I,map] = rgb2ind(im,256);
%写入 GIF89a 格式文件    
if x5 == -1
imwrite(I,map,'5D.gif','GIF', 'Loopcount',inf,'DelayTime',0.1);
else       
imwrite(I,map,'5D.gif','GIF','WriteMode','append','DelayTime',0.1);
end 
end

6.最终效果

在这里插入图片描述


总结

上述代码为一个整体,记得全部复制后保存在同一个文件内,可根据自己需要修改。

  • 5
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

古道西风瘦码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值