How to express inner product of two vectors in Stateflow action language?
Show older comments
I want to compute the inner product y of two vectors u and v (same size, both based on input from Simulink) in Stateflow action language. I have tried
x=ml.transpose(u)
y=ml.(x*v)
but during compilation this results in a coder error "Cannot reshape Local Data 'x' (#...) ([...]) to Local Data 'y' (#...) (scalar) for operator =. Please refer to object (#...)." Apparently, the "ml." notation only works with functions, not with operators such as '*'. Would there be a way to write a product as a function - something like y=ml.product(x,v)?
An alternative might be
x=ml.transpose(u)
y=ml('x*v')
but this requires x and v to be defined in the Matlab workspace, which would mean I have to export them first. This seems to be a rather laborious solution.
Any ideas?
Accepted Answer
More Answers (1)
Categories
Find more on Simulink Functions in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!