coding for algebric equations
1 次查看(过去 30 天)
显示 更早的评论
I am stuck in coding a algebric equation Y=exp[1+∑_(j=1)^2▒〖[[Aj-Ajexp(1-∑_(i=0)^10▒〖Bij*Xi)〗〗/1- exp^2 (1-∑_(i=0)^10▒〖Bij*Xi)〗]
A,B,X are some random matrices and for some reference the code below can be considered and i want to know how to remove the complex part of an exponential to subtract it from a constant as in the numerator of above equn
%
clc
clear all
close all
NI=2;
NH=10;
B=randint(NI,NH,[1,20])
i=1:NI
j=1:NH
% i(1,1),i(1,2)
A=randint(10,1,[1,10])
A(1,1)
x=[1 2]
c=x*B
C=1-sum(c)
exp(C)
d=A*expm1(c)
f=sum(d)
real(f)
square(exp(c))
%
2 个评论
Star Strider
2012-9-5
I ran your code (replacing i by k1 and j by k2 even though you do not use them anywhere) and replacing randint (that does not exist in 2012a) with randi (that does), and:
c=x*b
with:
c=x'*B'
because you cannot multiply [1 x 2] vector x by [10 x 1] vector B.
I did not get any complex numbers in any result.
Please do not use i and j as variables! MATLAB uses these for its imaginary operators, and while they will work as index variables, they will also cause endless confusion if you also have complex numbers in your calculations.
回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!