MATLAB如何画图
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍了MATLAB如何画图,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。最近需要做点东西,其中一步就需要画上面这种图,如上
千家信息网最后更新 2026年11月03日MATLAB如何画图
这篇文章主要介绍了MATLAB如何画图,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

最近需要做点东西,其中一步就需要画上面这种图,如上图所示,我想把左边的各个红色方块与右边所有的蓝色圆圈连线连起来。一般情况下我们都是用两层for循环然后plot,但是这篇推送将说明一下如何用arrayfun来完成该图的绘制。(arrayfun中嵌套着arrayfun)
实际上后来,我统计了一下 用for循环和用arrayfun这两种方法的运行的时间发现这两种方法耗时基本一样,甚至用for循环这种方法的耗时要比用arrayfun这种方法的耗时要小一点点
,不过用arrayfun要简洁点。
看程序之前,之前先复习一下arrayfun吧
|
|
V
避免无用的循环--fun系列的另外三个函数
代码:
clear
clc
close all
% 输入设备的坐标
in_x = zeros(1, 10);
in_y = linspace(0, 100, 10);
% 输出设备的坐标
out_x = 200.*ones(1, 30);
out_y = linspace(0, 100, 30);% 方法1:arrayfun
tic
figure(1)
ax = axes('NextPlot', 'add');
f = @(x, y) arrayfun(@(x_out, y_out) plot([x, x_out], [y, y_out]), out_x, out_y);
arrayfun(f, in_x, in_y)
toc
% 方法2:for循环
tic
figure(2)
ax2 = axes('NextPlot', 'add');
for i = 1 : length(in_x)
for j = 1 : length(out_x)
plot([in_x(i) out_x(j)], [in_y(i) out_y(j)])
end
end
toc
用arrayfun的方法,那两句的解释如下:
实际上用一层for循环,再用一个arrayfun这样运行速度会块一倍,如下面的方法三,我用arrayfun嵌套arrayfun纯粹是想捣鼓一下。不过arrayfun再嵌套一个arrayfun确实简洁
,但是可读性降低了,还运行的不快!
% 方法三:一层for循环再用一个arrayfun
tic
figure(3)
ax3 = axes('NextPlot', 'add');
for i = 1 : length(in_x)
f = @(x, y) line([in_x(i), x], [in_y(i), y]);
arrayfun(f, out_x, out_y)
end
toc
三种方法的运行时间如下:
我把那个输入的点数改成了100,输出的点数改成了300!
感谢你能够认真阅读完这篇文章,希望小编分享的"MATLAB如何画图"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
方法
循环
篇文章
运行
简洁
坐标
实际
时间
点数
设备
输入
输出
三个
上图
不快
东西
代码
价值
兴趣
函数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
苏州找大状互联网科技有限公司
互联网科技巨头监管
科技与互联网
北京互联网科技有限公司
卓越科技(互联网 )
易通互联网络科技有限公司
广州凡科互联网科技
互联网企业和科技型企业
互联网科技与管理
千方科技属于互联网企业吗
互联网科技研发水平
燊美集互联网科技有限公司
互联网方面的科技前沿
锡山区互联网智能科技产品供应
互联网科技股为什么大涨
上海创道互联网络科技有限公司
35岁以上互联网科技行业
新氧科技和美国互联网有关系吗
广州梦谷互联网科技有限公司领导
陕西九四连强互联网科技有限公司
湖北九亚互联网络科技有限公司
广东猪兼强互联网科技有限公司
深圳九邦互联网科技有限公司
新华互联网科技学校
新华互联网科技学院
赫美联合互联网科技
科技互联网的估值
字节跳动和互联网科技
互联网科技有哪些公司
承德科技产业互联网平台