Как я могу изменить .xfdl файлы? (Обновление № 1)

Так как x и y имеют одинаковую длину, ваша диагональная матрица D должна быть квадратной матрицей размера n x n, причем n равно удвоенной длине ваших x или y векторов. Причина, по которой вам нужно умножить длину на две, состоит в том, что операция [x,y] объединяет массивы по горизонтали, дублируя одно из измерений.

В этом примере D - это матрица Identity. Дополнительную информацию см. В eye .

x = linspace(-10,10);   % x is 1x100
y = linspace(-10,10);   % y is 1x100
[X,Y] = meshgrid(x,y);  % X is 100x100 and Y is 100x100
D = eye(2*numel(x));    % D is 2*100x2*100 = 200x200

f = @(x,y) [x,y]*D*[x,y].'; % [X,Y] is 100x200 and [X,Y].' is 200x100

contour (X,Y,f(X,Y))

Если вы хотите D быть случайной диагональной матрицей, вы можете выполнить это объединение diag с одной из доступных функций Random Number Generation , например, randn .

В предыдущем примере замените D со следующей инструкцией:

D = diag(randn(1,2*numel(x)));

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

Попробуйте заменить D со следующими инструкциями:

v = 1:2*numel(x);   % vector of coefficients: v = [1 2 ... 200]
D = diag(v);

15
задан Farshid 18 April 2015 в 10:43
поделиться

3 ответа

Если кодирование является base64 затем, это - решение, на которое я наткнулся на ссылке на сайт:

"Декодирование файлов XDFL сохраняется с 'encoding=base64'. Файлы, сохраненные с:

application/vnd.xfdl;content-encoding="base64-gzip"

простые base64-закодированные gzip файлы. Они могут быть легко восстановлены XML первым декодированием и затем разархивацией их. Это может быть сделано следующим образом на Ubuntu:

sudo apt-get install uudeview uudeview -i yourform.xfdl gunzip -S "" < UNKNOWN.001 > yourform-unpacked.xfdl 

Первая команда установит uudeview, пакет, который может декодировать base64 среди других. Можно пропустить этот шаг, после того как он установлен.

Принятие Вашей формы сохраняется как 'yourform.xfdl', команда uudeview будет декодировать содержание, поскольку опция 'UNKNOWN.001 ', since the xfdl file does not contain a file name. The '-i' делает uudeview неинтерактивный, удалите ту опцию для большего количества управления.

Последняя команда gunzips декодируемый файл в файл, названный 'yourform-unpacked.xfdl'".

Другое возможное решение - здесь

Примечание стороны: заключенный в кавычки Блок <кодирует>, не работает на длинные строки кода

4
ответ дан 1 December 2019 в 05:12
поделиться

Вы не должны выходить из Ruby, чтобы сделать это, может использовать модуль Base64 в Ruby для кодирования документа как это:

irb(main):005:0> require 'base64'
=> true

irb(main):007:0> Base64.encode64("Hello World")
=> "SGVsbG8gV29ybGQ=\n"

irb(main):008:0> Base64.decode64("SGVsbG8gV29ybGQ=\n")
=> "Hello World"

И можно назвать gzip/gunzip, использующий Kernel#system:

system("gzip foo.something")
system("gunzip foo.something.gz")
1
ответ дан 1 December 2019 в 05:12
поделиться

Единственный ответ, о котором я могу думать прямо сейчас, - читает руководство для uudeview.

Так же, как я хотел бы помочь Вам, я не эксперт в этой области, таким образом, необходимо будет ожидать кого-то более хорошо осведомленного, чтобы прибыть сюда и помочь Вам.

Между тем я могу дать Вам ссылки на некоторые документы, которые могли бы помочь Вам:

Извините, если это не помогает Вам.

2
ответ дан 1 December 2019 в 05:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: