How i can code this equation ?

1 view (last 30 days)
I am working on my thesis in biomedical engineering and i am stuck in coding the following equation:
I know the values of Sn6 ,f and d. When i try to calcutale the above by using this code ( Sn7=symsum(Sn6*(f-(m/d)),m,lower bound ,upper bound)) i get an error. I don't know how to and the lower bound correctly.
  2 Comments
Iasonas Vasios
Iasonas Vasios on 1 Apr 2022
The Sn6 value, is a matrix 1x43 double
Tala
Tala on 1 Apr 2022
Edited: Tala on 1 Apr 2022
infinity is a mathematical concept, for engineering tasks, I would say you want to look at order of magnitutes. Depending on the values of f and d, you could accept an uncertanity and truncate your sum, and say sum +/- error. In
one could choose infinity=1000 and use something like this
SN6=rand(1,43);
f=rand(1,1);
d=rand(1,1);
summ=zeros(1,43);
yourinf=1000;
for m=-yourinf:yourinf
u=SN6.*(f-(m/d));
SN7=summ+u;
end

Sign in to comment.

Accepted Answer

Santosh Fatale
Santosh Fatale on 4 Apr 2022
Hi Iasonas,
I understand that you want to implement following equation in MATLAB using “Symbolic Math Toolbox”. I assume that variables , f, and d are known to you. The above equation can be implemented as follows:
syms m f;
SN7(f) = symsum(SN6*(f - (m/d)),m,lowerBound,upperBound)
f = rand(1,1) % replace it.
SN7(f)
As per the equation, the lowerBound and upperBound for summation are “” and “+”. This bounds generates “NaN” (Not a Number) result for variable for a given value of f. It is suggested that avoid using those values and use some finite large number as an upperBound and some finite small number as a lowerBound.
I expect this solution clears the issue you are facing in implementation.

More Answers (0)

Categories

Find more on MATLAB in Help Center and File Exchange

Tags

Products


Release

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!