multiply large numeric two array and convert that array in Binary

2 次查看(过去 30 天)
fileId=fopen('sinlookup.txt','r');
line_num=0;
lineData='0';
while ~feof(fileId)
line_num=line_num+1;
lineData=fgetl(fileId);
disp(['Line ',num2str(line_num) , ': ' lineData ]);
end
  13 个评论
stuti
stuti 2018-8-2
array1 = [0.1 -0.2 0.3 -0.4].';
array2 = 1:12;
array3=0;
n_array2 = (array2).';
b = repmat(array1,[3 1]);
array3 = array3 + b * n_array2
Thank you this work perfectly.
I want help in further, how to convert this floating point number array into 32bit binary.
Walter Roberson
Walter Roberson 2018-8-2
You have two arrays of different lengths, just like this small example has two arrays of different lengths. How would you like the two to be multiplied? Use the short example to illustrate the result you would want.

请先登录,再进行评论。

采纳的回答

Walter Roberson
Walter Roberson 2018-8-2
I think you want to do filtering, which could be done by conv()
  2 个评论
stuti
stuti 2018-8-4
hello sir, i have array of 65535*1 and my second array is 400*1.
a = repmat(A{:,1},164,1)
i am using this syntax repeat my this(400*1) array in to 164 times then it become (65600*1). ( 65535*1 ) this value is not multiple of 400 so what i do. cause this is the reading of signal which i stored in the buffer and for multiplication the size of array should be same. any other way to do this type of multiplication.
Walter Roberson
Walter Roberson 2018-8-4
I would buffer(LargeArray, 400) which would create a 400 x 165 array. Then you can multiply it column by column by your 400 array. If you have R2016b or later, that would look like
output = buffer(LargeArray, length(SmallerArray)) .* SmallerArray(:);
This would produce a 400 x 165 array which you could reshape into a vector if you wanted to.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Numeric Types 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by