楼主: 余博士伦
965 6

[问答] 能帮忙编一个matlab程序吗? [推广有奖]

皇冠

已卖:1821份资源

讲师

93%

还不是VIP/贵宾

-

威望
0
论坛币
9845 个
通用积分
18.0449
学术水平
15 点
热心指数
14 点
信用等级
13 点
经验
284316 点
帖子
288
精华
0
在线时间
708 小时
注册时间
2010-9-10
最后登录
2025-10-30

楼主
余博士伦 在职认证  学生认证  发表于 2014-3-7 14:22:38 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币


x是从0到1之间,间断0.05,也是从10000到100000之间,间断5000!最好用mesh!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:MATLAB程序 MATLAB atlab matla Mat matlab 程序

沙发
余博士伦 在职认证  学生认证  发表于 2014-3-7 15:07:10
自己贴出答案吧!希望能帮到大家!
clear all; close all
F = @(x) 1/2*erf(x/sqrt(2));
xs = [0:0.05:1].'; % 变量x的采样序列
ys = [10000:5000:100000].'; % 变量y的采样序列
[XS, YS] = meshgrid(xs, ys);
ZS = 0*XS;
for g = 1:length(xs)
    x = xs(g);
    for  k = 1:length(ys)
        y = ys(k);
        xy = x*y;
        ZS(k, g) = 1.104*xy + 0.72*quad(F,0,xy/40);
    end
end
mesh(XS,YS,ZS);

藤椅
Xaero 发表于 2014-3-8 10:16:15
不错!虽然程序可以改进的空间还很大。
十年一觉扬州梦。
智不足以Academy,才尚不够Industry,[情无力于Life]。

板凳
余博士伦 在职认证  学生认证  发表于 2014-3-8 10:17:37
Xaero 发表于 2014-3-8 10:16
不错!虽然程序可以改进的空间还很大。
那前辈能帮忙改改吗?呵呵

报纸
Benlaron 发表于 2014-3-9 11:05:33
余博士伦 发表于 2014-3-8 10:17
那前辈能帮忙改改吗?呵呵
Matlab擅长的还是矩阵运算,for语句能不用就别用吧=。=

仅仅个人意见

地板
余博士伦 在职认证  学生认证  发表于 2014-3-9 11:15:50
Benlaron 发表于 2014-3-9 11:05
Matlab擅长的还是矩阵运算,for语句能不用就别用吧=。=

仅仅个人意见
那前辈对我的那个问题有什么高见啊?

7
Benlaron 发表于 2014-3-9 11:21:56
余博士伦 发表于 2014-3-9 11:15
那前辈对我的那个问题有什么高见啊?
小弟是后辈……不敢乱指点

但是我觉得您构造ZS的时候可以考虑矩阵(或向量)的内积、点积或外积,少用for循环。
比如说您的xy = xs’ *ys 就可以得到了,没必要for循环

两层嵌套的for,数据量大的时候复杂度为O(n^2),容易内存溢出

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-2 04:03