Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

coding for algebric equations

Asked by PK on 5 Sep 2012

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 Comments

Star Strider on 5 Sep 2012

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.

PK on 6 Sep 2012

if you can see a equation in the post and the code is only a part of it any suggestions how it can be solved completely

PK

Products

No products are associated with this question.

0 Answers

Contact us