Array type effected by variable type

1 回表示 (過去 30 日間)
Melih Furkan SEN
Melih Furkan SEN 2023 年 9 月 4 日
回答済み: Riya 2023 年 9 月 7 日
x=uint64(5);
c=[-2,x];
c becomes [0,5] because c = uint64 array.
So I dont want it to be effected by input types. I want c=[-2,5]
how do I do that?
  1 件のコメント
Dyuman Joshi
Dyuman Joshi 2023 年 9 月 4 日
編集済み: Dyuman Joshi 2023 年 9 月 4 日
Numeric arrays (in MATLAB) are always homogenous. When you concatenate values of multiple (2 or more) numeric data types, the final data type would be the one of the left most integer (If present) or single (if only single and double are present)
"So I dont want it to be effected by input types."
Things don't work that way in MATLAB.
"how do I do that?"
Instead of unsigned integers, use signed integers or double or single data types. Take into consideration the difference of ranges and other specifications of each data type.

サインインしてコメントする。

回答 (1 件)

Riya
Riya 2023 年 9 月 7 日
Hello Melih Furkan SEN,
As per my understanding, you don’t want that array type is affected by variable type.
Please note that, if you want to create an array `c` with the values [-2, 5] regardless of the input type of `x`, you can convert `x` to a double before creating the array. Here's how you can achieve that:
x = uint64(5);
c = [-2, double(x)];
By using the `double` function, you can convert `x` to a double precision floating-point number, which allows it to be combined with other double values in the array `c`. This way, the resulting array `c` will have the desired values [-2, 5] without being affected by the input type of `x`.
You can refer the following documentations to know more:
I hope it helps!

カテゴリ

Help Center および File ExchangeMatrices and Arrays についてさらに検索

タグ

製品


リリース

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by