[問題]matlab程式 改寫成c++已回收
不好意思,因為剛學c++,實在是不知道怎寫,所以想麻煩大家.
以下是我的matlab程式:
clc
clear all
close all
syms x xi xi1
n=2;
sf=[(xi1-x)/(xi1-xi)
(x-xi)/(xi1-xi)];
nd=[0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1];
k1=zeros(11);
k2=zeros(11);
k3=zeros(11);
k4=zeros(11);
k5=zeros(11);
k6=zeros(11);
k7=zeros(11);
k8=zeros(11);
k9=zeros(11);
k10=zeros(11);
for i=1:n
for j=1:n
k1(i,j)=subs(int(diff((sf(i)),'x')*diff((sf(j)),'x')+
sf(i).*sf(j),x,nd(1),nd(2)),{xi,xi1},{nd(1),nd(2)});
k2(i+1,j+1)=subs(int(diff((sf(i)),'x')*diff((sf(j)),'x')+
sf(i).*sf(j),x,nd(2),nd(3)),{xi,xi1},{nd(2),nd(3)});
k3(i+2,j+2)=subs(int(diff((sf(i)),'x')*diff((sf(j)),'x')+
sf(i).*sf(j),x,nd(3),nd(4)),{xi,xi1},{nd(3),nd(4)});
k4(i+3,j+3)=subs(int(diff((sf(i)),'x')*diff((sf(j)),'x')+
sf(i).*sf(j),x,nd(4),nd(5)),{xi,xi1},{nd(4),nd(5)});
k5(i+4,j+4)=subs(int(diff((sf(i)),'x')*diff((sf(j)),'x')+
sf(i).*sf(j),x,nd(5),nd(6)),{xi,xi1},{nd(5),nd(6)});
k6(i+5,j+5)=subs(int(diff((sf(i)),'x')*diff((sf(j)),'x')+
sf(i).*sf(j),x,nd(6),nd(7)),{xi,xi1},{nd(6),nd(7)});
k7(i+6,j+6)=subs(int(diff((sf(i)),'x')*diff((sf(j)),'x')+
sf(i).*sf(j),x,nd(7),nd(8)),{xi,xi1},{nd(7),nd(8)});
k8(i+7,j+7)=subs(int(diff((sf(i)),'x')*diff((sf(j)),'x')+
sf(i).*sf(j),x,nd(8),nd(9)),{xi,xi1},{nd(8),nd(9)});
k9(i+8,j+8)=subs(int(diff((sf(i)),'x')*diff((sf(j)),'x')+
sf(i).*sf(j),x,nd(9),nd(10)),{xi,xi1},{nd(9),nd(10)});
k10(i+9,j+9)=subs(int(diff((sf(i)),'x')*diff((sf(j)),'x')+
sf(i).*sf(j),x,nd(10),nd(11)),{xi,xi1},{nd(10),nd(11)});
end
end
gk=k1+k2+k3+k4+k5+k6+k7+k8+k9+k10
程式最後結果是呈現一個矩陣(gk).
現在想把此.m file改成用c++的形式寫,因為剛接觸C++而已,實在是寫不出來
有試過用mcc來轉,不過好像因為syms的原因,不能轉成功...
(matlab版本 : 2007b ; c++版本:visual c++ 6.0)
所以想請大家幫幫忙, 謝謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.214.57
→
04/08 04:53, , 1F
04/08 04:53, 1F
→
04/08 09:49, , 2F
04/08 09:49, 2F
→
04/08 09:50, , 3F
04/08 09:50, 3F
→
04/08 13:39, , 4F
04/08 13:39, 4F
→
04/08 16:19, , 5F
04/08 16:19, 5F
→
04/08 16:20, , 6F
04/08 16:20, 6F
→
04/08 16:21, , 7F
04/08 16:21, 7F
→
04/08 16:21, , 8F
04/08 16:21, 8F
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章