作者jack10313 (彩色笔)
看板MATLAB
标题Re: [问题] for回圈加速
时间Wed Jun 17 02:16:23 2015
MAC OS X更新,MALTAB突然不能用
害我刚刚才更新好
基本上减少for回圈数量,用矩阵取代
meshgrid是个不错的func
解析度开太高也会遇到记忆体不足问题
电脑太烂我就不尝试了
所以我寻找的条件就放宽
不知道有没有符合需求
这是算微带线吗,我看不懂
看你也是交大便宜收500就好 XDDD
source code
-------------------------------
clear all
close all
clc
% Coding by Sheng-Hsun
%---2015/06/16 copyleft ---
%parameters e1 = 1;
e2 = -62 -100j;
vp=3E8;
%main function
[Reff Ieff lambda] = meshgrid(-62:1:1, -100:1:0, 2:1:20);
k0 = 2*pi./lambda;
%u1
theta1 = atan( (-Ieff)./(1-Reff) );
alpha1 = k0.*((1-Reff).^2+(Ieff).^2).^0.25.*sin(theta1/2);
beta1 = k0.*((1-Reff).^2+(Ieff).^2).^0.25.*cos(theta1/2);
%u2
theta2 = atan((100+Ieff)./(62+Reff));
alpha2 = k0.*((62+Reff).^2+(100+Ieff).^2).^0.25.*sin(theta2/2);
beta2 = k0.*((62+Reff).^2+(100+Ieff).^2).^0.25.*cos(theta2/2);
Z1 = (2*pi*vp)./((alpha1+beta1).*lambda);
Z2 = (2*pi*vp)./((alpha2+beta2).*lambda);
Q = ((Z1./Z2)+(Z2./Z1)).*0.5;
t1 = cos(alpha1).*cosh(beta1).*cos(alpha2).*cosh(beta2);
t2 = sin(alpha1).*sinh(beta1).*sin(alpha2).*sinh(beta2);
t3 = sin(alpha1).*cosh(beta1).*sin(alpha2).*cosh(beta2);
t4 = cos(alpha1).*sinh(beta1).*cos(alpha2).*sinh(beta2);
temp1 = t1 + t2 + Q.*(t3+t4);
Qur = cos(alpha1).*cosh(beta1).*sin(alpha2).*sinh(beta2);
Qui = sin(alpha1).*sinh(beta1).*cos(alpha2).*cosh(beta2);
Qdr = sin(alpha1).*cosh(beta1).*cos(alpha2).*sinh(beta2);
Qdi = cos(alpha1).*sinh(beta1).*sin(alpha2).*cosh(beta2);
temp2 = (Qur-Qui) - Q.*(Qdr-Qdi);
err = 2E1;
idx1 = find (abs(temp1-1) <= err);
idx2 = find (abs(temp2) <= err) ;
idx = intersect(idx1, idx2)
Re = Reff(idx);
Im = Ieff(idx);
L = lambda(idx);
plot3(L, Re, Im);
※ 引述《leo10843 (这不是末日!!)》之铭言:
: 大家好,由於程式底子太差了,所以只能用最笨的方法,直接写三个for回圈QQ
: 就算让电脑一直挂着跑,发现还是跑不出来结果。
: 上网爬了些文章,发现不是没有帮助就是底子太差看不懂@@
: 在此附上程式码,https://goo.gl/oc4b7R
: 请高手们帮忙看程式码可以改哪里
: 如果真的让我跑出结果,奉上1000P币(税前)
: P.S 如果帮助太踊跃,我只能挑出一位给P币,太穷了XDD
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.113.125.75
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MATLAB/M.1434478586.A.80B.html
1F:→ jatj: 基本上要快 请换windows 06/17 11:30
2F:→ lavifoxbat: Mac或linux会比较慢吗? 06/17 12:58
3F:推 profyang: Linux我不知 Mac我是有听说会慢 不过不知道为什麽@@ 因 06/17 13:29
4F:→ profyang: 为matlab主要是针对windows去优化? 06/17 13:29
5F:→ jatj: 应该是 去跑个bench 就可以大概知道了 06/17 14:04
6F:推 lavifoxbat: 刚试过,R830,i5,win7 professional vs ubuntu12.04,速 06/17 15:15
7F:→ lavifoxbat: 度差不多 06/17 15:15
8F:推 profyang: 恩...Linux的话不少公司的工作站也需要matlab 我倒是有 06/17 17:05
9F:→ profyang: 点难相信Matlab不会针对Linux优化到跟Windows一样好 06/17 17:06
10F:推 leo10843: 运算快超多呀XD 太感谢了~1000P奉上(竟然遇到同校的XD) 06/17 19:13
11F:→ jatj: linux跟mac又有差了 mac是最慢的 06/18 12:19