小编Cro*_*ley的帖子

\newcommand/\newenvironment - 可选参数

我正在尝试自己的命令和环境,现在我正面临着这些问题:

  1. 如何创建命令\foo{parameter}[optional]或环境\begin{bar}{parameter}[optional]
  2. 如何创建命令 \foo[optional_1]...[optional_n]{parameter}

我试过了

\newcommand{\foo}[3][][]{#1#2#3}    - failed
\newcommand{\foo}[3][2][][]{#1#2#3} - failed
Run Code Online (Sandbox Code Playgroud)

有谁知道一些提示?非常感谢.

latex newenvironment renewcommand

17
推荐指数
3
解决办法
2万
查看次数

Visual Basic句柄十进制逗号

我正在尝试将变量保存到文本文件中,捷克的排版规则让我发疯.我正在调整的程序专门用于捷克本地化计算机,其中使用了十进制逗号,但VB正在使用普通的标准十进制点.

加载文件时,"US"小数被正确加载并显示为捷克小数.在TextBoxes中,"Czech"小数是必需的.我的问题是该程序生成捷克小数并需要"美国"小数.

如何强制VB程序将逗号作为十进制符号而不是分隔符或如何使用点而不是逗号导出数据?

是的,我可以加载123,456a=123b=456,然后返回值a + b/1000,但有没有更好的解决方案?

vb6 decimal internationalization

13
推荐指数
2
解决办法
3万
查看次数

Visual Basic 6.0:函数返回数组

是否有更好的方法来创建函数返回数组:

function foo
 Dim bar(1 to 2)as double
 bar(1)=1
 bar(2)=2
 foo=bar
end function
Run Code Online (Sandbox Code Playgroud)

并在代码中:

arrayx=foo
Run Code Online (Sandbox Code Playgroud)

因为当我声明Dim arrayx(1 to 2) as double它抛出一个错误"无法分配数组"当我没有声明变量arrayx它似乎没有任何问题.

arrays vb6 function

5
推荐指数
1
解决办法
3万
查看次数

如何在MATLAB中显示米勒指数?

我正在使用MATLAB绘制XRD分析,其中米勒指数用于识别晶面方向.这些索引包含3或4个数字,负数值显示为此数字以上的条形.

在LaTeX中,它可以由\([1\bar{1}1]\)\([1\overline{1}1]\)命令编写.

为了标记XRD标准的光谱线,我使用此命令:请注意,不考虑负值.

std_text_hkl(j)=text(theta{i}(j)-r,0.1,['[' hkl{j} ']'],... % position and label
       of j-th line of i-th standard; hkl{j} holds Miller index in string format
    'parent',ax_std(i),... % association with axes of i-th standard
    'rotation',90,...
    'fontsize',12,...
    'fontname',Font); % Font holds global font setup
Run Code Online (Sandbox Code Playgroud)

如何在不使用'Interpreter','latex'属性的情况下自动创建负数而不是使用属性,因为我希望能够更改'FontName'属性.在leat我想避免标签和刻度中的不同字体.

编辑:
感谢Magla的评论我得到了这个想法:

  • 将索引存储为3列矩阵
  • 将标签分成5个文本字段
  • 如果米勒指数是负的画线(文本框架的顶行)

实际代码:

rr=get(ax_std(i),'xlim'); % read x-axis limits of i-th standard
    r=(rr(2)-rr(1))/150; % x-offset of Miller indexes
    for j=1:size(dhkl,1)
      theta{i}(j)=asin(lambda/(2*dhkl(j,1)))*360/pi(); %calculating of lines
                   %positions (Bragg's law)
      line('parent',ax_std(i),...
            'xdata',[theta{i}(j) …
Run Code Online (Sandbox Code Playgroud)

matlab text latex labels

5
推荐指数
1
解决办法
1360
查看次数

从轮廓图中删除线条

大家好,我正在使用脚本轻松生成绘图并使用完全相同的布局.

这就是为什么我想在contourf没有黑色轮廓线的情况下自动创建给定数据的图形.我可以通过高级图形布局手动完成,是否有命令呢?

谢谢你的建议; 我不知道如何解决它.

matlab plot contour

3
推荐指数
1
解决办法
1万
查看次数

vb6:2D动态数组的重新定尺寸

我正在使用数组来根据它的压力存储蒸汽的属性.现在我有9个压力的属性,所以我使用的是静态数组.我想更灵活,所以我想切换到动态数组.

当我ReDim foo(1 to i, 1 to 10)在循环中使用时,我完全松开除最后一行之外的所有数据.
当我使用ReDim Preserve foo(1 to i, 1 to 10)ReDim Preserve(i,10)程序抛出错误"运行时错误'9':下标超出范围".i从1到9.

如何在不丢失数据的情况下将行/列添加到数组中?

arrays vb6 multidimensional-array dynamic-arrays

3
推荐指数
1
解决办法
6035
查看次数

对齐文本和编辑uicontrols

我正在创建GUI,我希望在那里有输入和结果.

我有text字段作为标签和/ editpopup输入.当我有

uicontrol('style','text','string','foo','units','centimeters','position',[1 1 1 0.5]);
uicontrol('style','edit','string','foo','units','centimeters','position',[2 1 1 0.5]);
Run Code Online (Sandbox Code Playgroud)

我得到的foo字符串略有错位,text字段的基线略高于edit/ popfield 的基线.

我该如何对齐这些字段?

formatting matlab alignment uicontrol

3
推荐指数
1
解决办法
3301
查看次数

Matlab:改变生产线规格

我想自动创建样品的硬度H和杨氏模量E的图形作为压头负荷L的函数.

我的目标是获得用虚线连接的不透明标记.当使用set(handle,'linestyle',spec)line(...,'linestyle',spec)命令我得到标记或行时,从来没有它们 - MATLAB抛出错误.
有没有办法获得线条和标记而无需绘制具有相同数据和不同规格的两条线?我想继续使用它与另一个问题(MATLAB:有多个数据集的plotyy的图例)中描述的图例一起工作.

这是我的实际MWE代码:

%data1 - m x 3 matrix with data for first sample:
[m,n]=size(data1);

%plots 1st sample data:
[ax,h1,h2]=plotyy([data1(1:m,1)],[data1(1:m,2)],[data1(1:m,1)],[data1(1:m,3)]);

set(h1,'linestyle','o')
set(h2,'linestyle','o')

%store colors:
c1=get(h1,'color');c2=get(h2,'color');

%plots 2nd sample hardness:
line('parent',ax(1),'xdata',[data2(1:m,1)],'ydata',[data2(1:m,2)],...
     'color',c1,'linestyle','s');

%plots 2nd sample young's modulus
line('parent',ax(2),'xdata',[data2(1:m,1)],'ydata',[data2(1:m,3)],...
     'color',c2,'linestyle','s');
Run Code Online (Sandbox Code Playgroud)

matlab plot line

2
推荐指数
1
解决办法
3万
查看次数

找到所有集合的组合

假设我们有2 x N形式的矩阵

A=| a1 a2 ... aN |
  | b1 b2 ... bN |
Run Code Online (Sandbox Code Playgroud)

有2 ^ N种组合如何重新排列行.我想找到B包含所有组合的矩阵.

%% N=2
B=|a1 a2|
  |a1 b2|
  |b1 a2|
  |b1 b2|
%% N=3
B=|a1 a2 a3|
  |a1 a2 b3|
  |a1 b2 a3|
  |a1 b2 b3|
  |b1 a2 a3|
  |b1 a2 b3|
  |b1 b2 a3|
  |b1 b2 b3|
Run Code Online (Sandbox Code Playgroud)

这与用于学习布尔代数基础知识的表(ai = 0,bi = 1)非常相似.

这个问题可能会扩展到创建M^N x N矩阵M x N.

matlab combinations

1
推荐指数
1
解决办法
53
查看次数

动态变量声明

假设我们已将数据加载到单元格数组中:

DATA={'foo',[1,5];'bar',[2,6]}
Run Code Online (Sandbox Code Playgroud)

有没有办法如何用第DATA2列的内容声明第1列命名的变量?

variables matlab declaration

0
推荐指数
1
解决办法
55
查看次数