"reshape" does not give column vector entries in output

조회 수: 1 (최근 30일)
Sergio
Sergio 2024년 3월 20일
편집: Rushikesh 2024년 9월 27일
Running test_modified.m we obtain the vector entries for the residuals , as a 1x8 vector. However, with either
r = reshape([result{:}].',[],1) % column vector
r = reshape([result{:}].',1,[]) % row vector
I obtain no vector output. It says "Brace indexing is not supported for variables of this type."
What is wrong and how can I correct this?
Thanks
  댓글 수: 4
Sergio
Sergio 2024년 3월 20일
Thanks @Dyuman Joshi, but y0 is defined in enzyme.m which is called in test_modified.m
Sergio
Sergio 2024년 3월 20일
편집: Sergio 2024년 3월 20일
@Stephen23 good point! In this case, it would be different, and not V = y1(:)-SP(:). With that, I get
V =
3.0146
-1.1146

댓글을 달려면 로그인하십시오.

답변 (1개)

Rushikesh
Rushikesh 2024년 9월 27일
편집: Rushikesh 2024년 9월 27일
Hello @Sergio,
The error message "Brace indexing is not supported for variables of this type" usually indicates that cell array indexing is being applied to a variable that is not a cell array.
It seems that y0 and y1 are intended to represent concentrations. Since y0 is not defined but is received in the enzyme.m file, I assume you want to pass the defined y1 to the enzyme function as y0. For clarity and simplicity, consider replacing y1 with y0.
The error arises because result is a numeric array, so you should use parentheses () for indexing instead of braces {}.
After making the necessary corrections, your code should look like this:
result = zeros(8,1); % Initialize the correct variable
%Experiment 1
y0 = [2;1]; % Initial condition
dt = 0.01;
T = 1;
k = [5;1];
[SP, ~] = enzyme(y0, k, dt, T); % Capture only necessary outputs
result(1:2) = y0 - SP;
You can apply similar changes for the remaining experiments. To reshape result into a row or column vector, you can use:
r_column = reshape(result, [], 1); % Column vector
r_row = reshape(result, 1, []); % Row vector
Let me know if this helps.

카테고리

Help CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

제품


릴리스

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by