Is it possible to extract the contents of a generalised matrix after it has been created with tunable parameters?

1 次查看(过去 30 天)
After creating a generalised matrix (genmat) from tunable parameters (realp) can the dependencies of the genmat on the realp be determined exactly, for example in the form of a function handle? Using the example from the genmat documentation
a = realp('a',-1);
b = realp('b',3);
M = [1 a+b;0 a*b]
Is it possible to determine exactly how to generate M in terms of a and b (by e.g. creating a function handle (or symbolic expression) for only the object M)?
Obviously it would be possible to sample different values of a and b but I'm interested in an exact expression, surely this information is contained somewhere in the genmat M object?

回答(1 个)

Nithin Kumar
Nithin Kumar 2023-9-5
Hi Fredrik,
I understand that you want to extract the contents of a generalized matrix after it has been created with tunable parameters.
To determine the exact dependencies of a generalized matrix (genmat) on tunable parameters (realp), kindly refer to the following example:
1. Define symbolic variables for your tunable parameters using "syms":
syms realp1 realp2 realp3;
2. Define your generalized matrix, "genmat" as a symbolic expression using these symbolic variables and perform any mathematical operations as needed:
genmat = [realp1^2, realp1 + realp2; realp3, realp2^2];
3. Now, you can determine the exact dependencies by differentiating "genmat" with respect to each "realp":
dependency_realp1 = diff(genmat, realp1);
dependency_realp2 = diff(genmat, realp2);
dependency_realp3 = diff(genmat, realp3);
These "dependency_realpX" expressions represents the exact mathematical dependencies of "genmat" on each tunable parameter, and you can use them as function handles if needed.
Kindly refer to the following code snippet to create a function handle:
genmat_function = matlabFunction(genmat, 'Vars', {realp1, realp2, realp3});
dependency_realp1_function = matlabFunction(dependency_realp1, 'Vars', {realp1, realp2, realp3});
dependency_realp2_function = matlabFunction(dependency_realp2, 'Vars', {realp1, realp2, realp3});
dependency_realp3_function = matlabFunction(dependency_realp3, 'Vars', {realp1, realp2, realp3});
Now, you can use these function handles to evaluate "genmat" and its dependencies for specific values of "realp1", "realp2", and "realp3".
For more information regarding "syms", kindly refer to the following documentation:
I hope this provides you with the required information regarding your query.
Nithin Kumar.


Help CenterFile Exchange 中查找有关 Financial Toolbox 的更多信息





Community Treasure Hunt

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

Start Hunting!

Translated by