взлом

Открытая медицинская библиотека

Статьи и лекции по медицине ✚ Библиотека студента-медика ✚ Болезни и способы их лечения.

Хирургия Isa( s3, 'char' )
просмотров - 306

вернёт истину ( единицу ), если переменная s3 является в данный момент строковой (символьной), и вернёт ложь ( нуль ) в противоположном случае.

По отношению к массивам символов справедливы также всœе операции, которые мы ранее рассмотрели для случая массивов типа double. К примеру, вместо группового присваивания c2 = 'abcd' можно организовать поэлементное присваивание с помощью операции индексации:

c2( 1 )='a'; c2( 2 )='b'; c2( 3 )='c'; c2( 4 )='d';

или осуществить операцию конкатенации

c2 = [ 'abc' , 'd' ]; c2 = [ c2 , ' QWERTY' ];

В тесной связи с рассмотренной операцией конкатенации текстовых строк находится стандартная функция int2str, которая преобразует целые числовые значения в символы, отображающие эти целые числа. К примеру, вызов функции

res = int2str( 2 )

приведёт к появлению текстовой переменной res со значением '2'. В итоге, мы имеем возможность сформировать в цикле набор нескольких имён функций, отличающихся только последним символов - их номером:

name = 'function'; arg = 10.7;

for k = 1 : 10

Name = [ name ,int2str( k ) ];

res( k ) = feval( Name, arg );

End

и даже вычислить значения всœех таких функций при значении аргумента arg. Это осуществляется с помощью стандартной функции системы MATLAB feval, которая принимает в качестве своего первого аргумента текстовую строку с именем M-функции, подлежащей вычислению. Второй и последующие аргументы этой функции служат для передачи в качестве аргументов вычисляемым функциям.

В вышеприведённом фрагменте результаты вычислений десяти функций запоминаются в массиве res.

В случае если требуется в одной переменной запомнить несколько имён функций ( это возможно в случае их одинаковой длины ) для последующего их исполнения с помощью feval, то можно сформировать текстовый массив размерности 2;

Names( 1, : ) = 'function1';

Names( 2, : ) = 'function2';

Первая строка этого массива содержит имя первой функции, вторая строка - второй функции. Размер этого массива типа char есть 2 x 9.

Часто текстовые строки используются для вывода в командное окно системы MATLAB для информирования пользователя о ходе выполнения M-функции. Это осуществляется с помощью функции disp, принимающей в качестве аргумента текстовую строку:

x = 7;

message = [ ' Variable x = ', int2str( x ) ];

disp( message );

Вместе с тем, в командное окно нужно выводить сообщения, предупреждающие пользователя о крайне важности ввода с клавиатуры значения переменной:

VarX = input( ' VarX = ? ' );

Функция input выводит в командное окно текст, являющийся её аргументом, после чего ожидает ввода значения с клавиатуры и нажатия клавиши Enter. Таким образом можно ввести с клавиатуры числовое значение и запомнить её значение в переменной VarX. Внутри строки-аргумента функции input может присутствовать специальный набор из двух символов /n, приводящий к показу сообщения на двух строках (часть сообщения после /n показывается на новой строке ).