Complex Number Conversion to character form
9 次查看(过去 30 天)
显示 更早的评论
Notable Behavior of Conversions with Formatting Operators:
- Numeric conversions print only the real component of complex numbers.
- If you specify a conversion that does not fit the data, such as a character conversion for a numeric value, MATLAB® overrides the specified conversion, and uses %e.
Is there any way by which I can print real part as well as imaginary part of a complex number in string form?
Can I fit a large scale data in character conversion?
I am implementing an algorithm to encrypt text using complex number and after encrypting just want to convert that encrypted data (complex number) into character form. Because of number format limitation, I am unable to convert it. Please help me to solve this problem...
1 个评论
回答(2 个)
Guillaume
2016-11-11
What is large scale data?
I don't see the problem in printing / converting complex numbers:
n = pi + 1i*log(2);
s = sprintf('%g + %gi', real(n), imag(n)) %or whichever format you want
And if n is an array:
s = arrayfun(@(x) sprintf('%g + %gi', real(x), imag(x)), n, 'UniformOutput', false)
Steven Lord
2016-11-11
Based on your previous questions, you're going to try to convert a symbolic complex number into a char array. Is that correct? If so use the char function on your symbolic expression, possibly in conjunction with the vpa function.
4 个评论
Walter Roberson
2016-11-14
Yes. You are asking to process an array of values, not a single value, and you have not said anything about how you want to code the array markers. For example do you want the items written out using '[' and ']' and ';' between rows and ',' between items? What do you want done if the matrix has more than 2 dimensions?
I would caution you that if you are wanting the quotes removed then chances are that you are trying to create you intend to execute, which would be a mistake because without the quotes the value is going to be converted as a plain double precision number.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Type Conversion 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!