フィルターのクリア

Defining/Checking assumptions on symoblic arrays

2 ビュー (過去 30 日間)
Joseph
Joseph 2012 年 6 月 5 日
Hi all,
I have been encountering a problem/inconsistency while using Matlab 2011b for defining and checking symbolic variable assumptions.
Even the example from the help file does not properly identify the assumptions on the following variable:
A = sym('A%d%d', [2 2]);
A = sym(A, 'positive');
evalin(symengine,'getprop(A(1,1))')
ans =
C_
evalin(symengine,'getprop(A)')
ans =
C_
However, it actually does obey the assumptions, atleast for this example from the help. (below)
solve(A(1, 1)^2 - 1, A(1, 1))
ans =
1
This problem does not happen for scalar variables, that does work properly.
Is there a way to check the assumptions on a whole array/matrix or even the different elements that comprise the array/matrix? Given the two checks on properties above it does not seem so.
Might it be a problem that needs me switching to the newest version (2012); however I am hesitant to do this because last time I found errors with 2010 symbolic and compiler toolboxes, upon upgrading to 2011 I found that the subs() has changed functionality and would no longer substitute vectors properly (this problem has been referenced by others in the Matlab Answers).
Thanks for any help that can be provided, Joe

回答 (1 件)

Christopher Creutzig
Christopher Creutzig 2012 年 6 月 27 日
The name inside MuPAD is not A(1,1). Try this instead:
A = sym('A%d%d', [2 2]);
A = sym(A, 'positive');
feval(symengine, 'getprop', A(1,1))
ans =
Dom::Interval(0, Inf)
I'm not sure I know which problem with subs and vectors you refer to. I know of one issue that was fixed in 2012a.

カテゴリ

Help Center および File ExchangeProperties and Assumptions についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by