MATLAB Answers

How to set a function for error propagation

1 view (last 30 days)
Niklas Kurz
Niklas Kurz on 21 Jul 2020
Edited: Niklas Kurz on 24 Jul 2020
Hey, this is kinda my first try with
My aim is to code an automatic sequence for error propagation. E.g.
function [DeltaY] = equation(x)
With DeltaY being the solution and x an equation like x = a*b
As I said I have very little experience with functions, hence:
function [DeltaY] = equation(x)
DeltaY = sqrt((diff x,a)^2 * da^2 + (diff x,b)^2 * db^2)
does not work if I typ
Strikes me as I need to define a b da db seperately like
syms a b da db
x = a*b
But where to put it?


Sign in to comment.

Accepted Answer

SAA on 21 Jul 2020
Yes you need to deinfe a b da and db either in the function or in your script before you call the function and also let them be inputs to your function
like this:
function [DeltaY] = equation(x,a,b,da,db)
DeltaY = sqrt((diff x,a)^2 * da^2 + (diff x,b)^2 * db^2)

  1 Comment

Niklas Kurz
Niklas Kurz on 24 Jul 2020
One question is bothering me concering my code:
function [DeltaY] = equation(a, b, da, db)
DeltaY = sqrt(diff(((a+b)/(b-a)),a)^2 * da^2 + diff(((a+b)/(b-a)),b)^2 * db^2);
It works quite well, but as long as I define a,b,da,db Matlab won't derive anymore. For example
equation(1, 2, 0.1, 0.1)
ans = []
How to tell Matlab to set in values after it derived? Is this only possible with

Sign in to comment.

More Answers (0)


Community Treasure Hunt

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

Start Hunting!