フィルターのクリア

Converting inputdlg entries to symbols in a matrix

2 ビュー (過去 30 日間)
Drilon Ferra
Drilon Ferra 2021 年 7 月 8 日
回答済み: Walter Roberson 2021 年 7 月 8 日
Code for non-symbol case:
Matrices = inputdlg({'Matrix 1', 'Matrix 2'})
Matrix1 = str2num(Matrices{1})
Matrix2 = str2num(Matrices{2})
Product = Matrix1*Matrix2
I have tried the following but it does not work.
str2sym(Matrices{1})
I want the user to be able to enter somethig like a 40; c 20 and have this converted to a matrix whilst recognising the letters as symbolic values.

回答 (1 件)

Walter Roberson
Walter Roberson 2021 年 7 月 8 日
You need to have [] around the entries. str2sym() will not assume that a space is to indicate a list.
Matrices = {'40', 'c 20'}
Matrices = 1×2 cell array
{'40'} {'c 20'}
str2sym(Matrices{1})
ans = 
40
str2sym("["+ Matrices{2}+"]")
ans = 

カテゴリ

Help Center および File ExchangeEntering Commands についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by