I am getting an error "Variable a must be of data type char. It is currently of type double. Check where the variable is assigned a value."

8 Ansichten (letzte 30 Tage)
Question:
Using matrix multiplication, multiply A1 by A1, set to a
Using matrix multiplication, multiply v1 by A1, set to c
Input: A1 = [-2:1; 1:-1:-2; -2:2:4]
v1 = linspace(-2,4,4)
a = A1 .* A1
c = v1 .* A1
output:
Variable a must be of data type char. It is currently of type double. Check where the variable is assigned a value.

Antworten (1)

Pratik
Pratik am 13 Feb. 2024
Hi Chloe,
In my understanding, you want to perform matrix multiplication between A1 & A1 , v1 & A1. The operator to perform matrix multiplication is '*' or function ‘mtimes’. Operator '.*' performs element wise multiplication.
I was not able to reproduce the error mentioned in the question with the code provided.
A1 = [-2:1; 1:-1:-2; -2:2:4]
A1 = 3×4
-2 -1 0 1 1 0 -1 -2 -2 0 2 4
v1 = linspace(-2,4,4)
v1 = 1×4
-2 0 2 4
a = A1 .* A1
a = 3×4
4 1 0 1 1 0 1 4 4 0 4 16
c = v1 .* A1
c = 3×4
4 0 0 4 -2 0 -2 -8 4 0 4 16
For matrix multiplication of matrices A and B, the number of columns of A must equal the number of rows of B.
Please refer to the documentation of “mtimes” for more information on matrix multiplication:
Please refer to the documentation of “times” for more information on element wise multiplication:
I hope this helps!

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by